Autor Tema: Duda con comunicación por el puerto serial...  (Leído 1957 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Khael

  • PIC10
  • *
  • Mensajes: 10
Duda con comunicación por el puerto serial...
« en: 10 de Julio de 2010, 17:30:24 »
Hola a todos, tengo una duda con una pequeña implementación que estoy realizando. Hice un programa en PICC para un PIC16F877A el cual en todo momento manda la lectura de dos puertos analógicos(A0 y A1) hacia el LCD de acuerdo a los comandos que recibe por el puerto serial. Los comandos son:

 d :detenido(no envía nada desde el PIC hacía el hipertérminal pero sigue mandando hacia el LCD)
 s :sigue(envía la lectura del analógico seleccionado hacia el hyperterminal)
 1 :Cambia la lectura del ADC hacia el pin A1
 0 :Cambia la lectura del ADC hacia el pin A0

Estoy subiendo mi archivo completo (Código y simulación en Proteus) y se darán cuenta que funciona a la perfección (al menos para lo que quiero hacer) sin embargo cuando lo implemento el pic no recepciona lo que envío desde el hyperterminal. Yo supongo que el problema es la configuración del hyperterminal asi que si alguien puede darme las indicaciones correctas para su configuración o puede recomendarme algun programa que simule el hyperterminal lo agradecería mucho y a su vez el programa que subo quedaría como un buen ejemplo de programación.

Atte.

Khael
« Última modificación: 10 de Julio de 2010, 18:57:50 por un Moderador »

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Duda con comunicación por el puerto serial...
« Respuesta #1 en: 10 de Julio de 2010, 19:55:09 »
Tal vez tiene un problema de hardware, y no es se software.
 En el esquema no está, pero supongo que cuando montas el circuito, el pin MCLR lo tienes conectado a positivo. Para conectar el pic por puerto serie al puerto rs232 de la PC debes utilizar el integrado max232 para adaptar los niveles de RS232 a TTL que puede manejar el pic.
Supongo que el LCD lo tienes correctamente alimentado y conectado,con su potenciómetro de ajuste de contraste. Si estás utilizando un cristal externo, no te olvides de colocarle los capacitores a masa. En caso de usar el oscilador interno del pic, yo en su momento tuve problemas para comunicarlo por el puerto serie, se perdían algunos datos, lo solucioné colocando un cristal externo.
No debes olvidarte de los capacitores de desacoplo cerca de los pines de alimentación del pic.
El hyperterminal anda muy bien para hacer las pruebas y es muy sencillo de configurar, no tiene ningún secreto, solo debes poner la misma configuración que colocaste en el pic y listo.
Si usas CCS puedes usar la herramienta que trae que se llama SIOW.EXE, para enviar y recibir datos por el puerto serie del pc.


En la red hay programas que te crean un puerto serie virtual en la PC, con esto y con el componente COMPIM del ISIS, conectándolo en lugar del virtual terminal puedes emular un puerto serie y comunicarlo con el hyperterminal y así ves si al menos en simulación tienes correctamente configurado el Hyperterminal y el pic.

Saludos
« Última modificación: 10 de Julio de 2010, 20:12:01 por pablomanieri »

Desconectado Khael

  • PIC10
  • *
  • Mensajes: 10
Re: Duda con comunicación por el puerto serial...
« Respuesta #2 en: 11 de Julio de 2010, 13:57:26 »
Muchísimas gracias por responder pablomanieri.
Voy a revisar todo lo que me dices pero antes te cuento que el lcd esta funcionando bien... y si estoy usando el max232 con los respectivos capacitores, uso un cristal externo de 10MHz y está bien conectado tambien. Bueno dejame probarlo y luego cuelgo los resultados.

Bytes :-/

Desconectado Khael

  • PIC10
  • *
  • Mensajes: 10
Re: Duda con comunicación por el puerto serial...
« Respuesta #3 en: 21 de Julio de 2010, 12:47:41 »
Bien, para empezar un saludo a la comunidad del foro y luego al grano.

Despues de revisar mi implementación, descubri que el cable serial era el problema. Despues de corregir ese error todo funciono de maravilla así que si a alguien le sirve ahi tienen un bonito ejemplo de comunicación serial con interrupción y conversión analógica.

Gracias por su atención.


Atte.
Khael :-/


 

anything