puerto serial vb y microcontrolador

hola mecatronicos de la red, disculpen pero tengo un problema al mandar informacion por el puerto serial al microcontrolador, ya que este no recibe exactamente los caracteres que le envio juntos (por ejemplo: 123), sino que los recibes de uno por uno, no se si me puedan ayudar, no se si mi problema este en el micro o en el codigo de visual basic. pic 16f877.
 
Hola, si entendi el problema te digo que no es lo mismo enviar 123 que el codigo binario 123 que es 01111011.
Si por ej. desde el hyperteminal quieres mandar el 123 (01111011) debes mandar el carcater "{" porque si escribes 123 te enviara el 1 el 2 y el 3 osea hara 3 envios.
Espero que se de tu ayuda.
 
hola:
yo tengo el mismo problema mando SEROUT portb.2,T9600,["A"], con un micro 16f628a y en el pc no recibo el dato correcto recibo simbolos, a veces si recibo A, y hago lo siguiente al accionar un pulsador enviame A. por que??? cual puede ser el problema,AH tengo un crystal de 4MHz y dos Ceramicos de 22pF y configurado el pic XT...
 
Hola, lo que puede ser a veces, es que la velocidad de la puerta serie de la PC no este configurado a 9600 como el pic, por eso no interpreta bien los caracteres
 
Hola,

mira a ver los bits de stop en la transmision, a ver si tienes 2 en vez de 1 o viceversa, a mi me paso tambien eso y al final resulto ser eso.

Por cierto, el compañero lleva razon, no es lo mismo enviar "123" que el codigo ascii 123 que equivale a "{". Si envias "123", vas a recibir tres codigos, los equivalentes a los caracteres "1", "2" y "3" en ascii, pegale un vistazo a la tabla ascii.

Espero ayudar. Saludos.
 
El puerto serial del pc lo tengo a 9600 baude, 8bits, ninguno paridad, 1 stop y ninguno control de flujo(esto en el pc).
y en mi programacion en basic con mmicrocode:

include "modedefs.bas"
DEFINE OSC 4
if pulsador = 1 then
serout portb.0,T9600,["A"]
y a veces recibo una A y otras veces simbolos raros { { / ' `.. por que ...???
 
el problema se me ha solucionado sacando el max 232 de una placa impresa que habia hecho que tenia una resistencia con un led en la misma linea de transmision de datos que salian del pic al max.- en la protoboard montado empezo funcionando correctamente.-
gracias--
 
Atrás
Arriba