Problema En Comunicacion Serie Pic - Pc

Hola amigos les comento cual es mi problema:

Estoy haciendo un sistema de sensado y control de temperatura a travez de la PC; tengo el programa para el PIC hecho en C y cuando simulo (en proteus) el circuito con el pic funciona barbaro, recibo las temperaturas correctamente . El problema es que al conectar el circuito al puerto serie, si bien en el hyperterminal tengo una entrada de datos, estos datos son rara vez correctos. Hice un programita de prueba que envia desde el pic una A cada 1 seg y recibo: A A X X A A A X X X A X X,etc donde las X son distintos caracteres Ascii, y cada caracter aparece cada 1 segundo como tiene que ser.

Tengo la misma velocidad de transferencia en pic y pc (9600 baudios), pruebo con controles de paridad y sin ellos y pasa lo mismo. Controle el circuito y parece estar bien asi que no se que puede estar pasando. Pense que podria ser posible que este teniendo ruido en algun punto del circuito, o en los cables que van al puerto serie, pero este no tiene mas que 20 cm y utilizo un Max232, por lo que creo que el ruido no tendria que estar afectando.

Luego de esto voy a hacer un prog en VB para que cargue los datos a una base de datos, pero no puedo hacerlo hesta no estar recibiendo los datos correctos asi que estoy estancado aca.
 
Hola Yamazaky1984

Mira, la verdad que no se, yo probé en 9600 y 2400 baudios y pasa exactamente lo mismo. No se si podrá ser un problema del cristal. Tenes idea de que problema puedo estar teniendo con la velocidad ?
 
Yo tube un problema similar y me volvi loco al final el problema estaba en un flag que no limpiaba y me llenaba el buffer de transmision. Era para un 8051 no para un PIc pero puede que vayan por ahi los tiros. Revisa los registros de transmision recepcion del PIC.

Si puedes conseguir un osciloscopio, revisa la trama que envia el PIC y podras ver quien es el que miente, si el pic, el PC o los cables te falsean la medida(me extrañaria esto último).

Suerte
 
Ok, voy a fijarme el tema de los flags y del buffer y voy a probar solo enviar datos desde el PC para ver si el PIC los recibe bien.

Les dejo el codigo del programa en C.

Saludos
 

Adjuntos

  • codigo_257.zip
    2.4 KB · Visitas: 102
Bueno estube probando un poco mas el circuito:
Con una velocidad de transferencia de 300 baudios lee basura siempre, no recibe ni siquiera una "A" que es lo que le mando. Tambien probe enviar desde el PC al PIC varios caracteres y los recibe bien.
Las cofiguraciones del PIC que utilice en estos programas de testeo son las mismas que las del programa que subì.

Saludos,

PD: espero resolverlo rapido porque se me esta quemando la cabeza ''
 
Hola, tengo un problemilla: Nunca he enviado datos de un PIC al PC y quisiera saber si solamente con dos cables por el puerto com del PC se puede lograr. En proteus si que envia esos datos correctamente y solamente conecto dos pins al COM. Alguien que sepa me podria ayudar?
 
Hola alnavasqui:
En un circuito real se necesita conectar 1 o los 2 pines de transmisión de datos más masa (GND) del puerto serie.

TX(PIC) ---> RX(PC)
RX(PIC) <--- TX(PC)
GND(PIC) <---> GND(PC)

Puedes usar solamente TX o RX o ambos depende como quieras usar pero necesariamente se conecta GND entre la PC y el PIC.
 
Atrás
Arriba