TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: christian elric en 30 de Diciembre de 2011, 17:13:12
-
Hola a todos, mi problema es el siguiente:
Envío datos del pic al pc via rs232 y la salida la ize con un max232, el programa esta hecho en ccs, pero el problema esque me llegan los datos invertidos al pc.
En una simulacion en proteus solo basto con que le diera invertir al virtual terminal y ya me llegan los datos correctamente, pero fisicamente recibo esos datos con visual basic 6 asi que no se que hacer si tal vez pueda invertir los datos con el ccs o mi circuito este mal, por favor si tienen una idea de como arreglar mi problema se los agradeceria¡¡¡¡
Aqui les dejo el codigo que uso:
#include <16f877a.h>
#device adc=10
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP,BROWNOUT
#USE DELAY (CLOCK = 4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, BITS=8, PARITY = N, stream = COM3)
void main(){
do
{
/* Mientras habilitar sea verdadero */
while(1)
{
output_high(pin_B0);
output_high(pin_B1);
output_high(pin_B2);
fprintf(COM3,"hola mundo");
delay_ms(500);
}
}
while(true); /* Todo de nuevo */
}
Y la imagen de mi circuito
-
ize ?? :shock:
Que sería invertido, en lugar de 0xAA un 0x55 ?
-
Suky lo que pasa que quiero enviar una simple cadena de texto pero me llega así:
):êú+ª4º):êú+ª4º):êú+ª4º
y al ponerle "inverted" en el virtual terminal ya me lee la cadena normal:
Hola mundo
así que por eso supongo que los datos estan invertidos
-
y ya configuraste la velocidad correcta en el virtual terminal?, debe ser la misma que la del pic.
-
jhozate si las velocidades estan bien 9600,n,8,1
-
En isis la verdad no se que pasó y no lo pude resolver, pero físicamente(que es lo que me interesaba) si pude, lo que pasa que un cable no tocaba bien el proto eso era todo y justo era en el pin de salida de datos del max232 pero ya lo coloque bien y problema resuelto, gracias por responder¡¡
-
Que tal si le pones 2 bits de parada en vez de 1?