Estoy tratando de comunicar el pic16f877a con la pc, ya tengo el programa hecho en ccs y simplemente mando un mensaje de "hola mundo", el circuito ya lo tengo hecho y utilizo un max232, el max232 lo conecte de acuerdo a muchos diagramas que vi en internet y aseguran que es correcto.
Mi problema es que si manda los datos pero los manda invertidos, en la simulacion que ize en proteus simplemente en el virtual terminal le puse invertir y listo me los mostro pero fisicamente no puedo hacer eso de invertir, ya que voy a recoger los datos con un visual basic 6, e ize la prueba con el putty para recoger los datos y me da caracteres extraños. No se si en visual basic pueda "invertir los datos" o a lo mejor halla algo mal en mi circuito, probe con ponerle el valor "INVERT" en la configuracion de rs232 en ccs pero no me marcaba error.
Aqui les dejo el codigo que utilizo en ccs y les adjunto una imagen de mi simulacion en proteus ademas del archivo .dsn en .rar
Si alguien me pudiera ayudar le estare muy agradecido en serio¡¡¡¡
#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 */
}
Mi problema es que si manda los datos pero los manda invertidos, en la simulacion que ize en proteus simplemente en el virtual terminal le puse invertir y listo me los mostro pero fisicamente no puedo hacer eso de invertir, ya que voy a recoger los datos con un visual basic 6, e ize la prueba con el putty para recoger los datos y me da caracteres extraños. No se si en visual basic pueda "invertir los datos" o a lo mejor halla algo mal en mi circuito, probe con ponerle el valor "INVERT" en la configuracion de rs232 en ccs pero no me marcaba error.
Aqui les dejo el codigo que utilizo en ccs y les adjunto una imagen de mi simulacion en proteus ademas del archivo .dsn en .rar
Si alguien me pudiera ayudar le estare muy agradecido en serio¡¡¡¡
#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 */
}