Hola! Estoy tratando de implementar un sistema para comunicar un PIC16f877a con el PC, mediante el protocolo RS232. De momento estoy realizando pruebas para ir conociendo las funciones que se pueden usar en "CCS" para este protocolo, pero me surgió un problema con un programa que realiza las siguientes instrucciones:
►El programa consiste en una LCD en la cual se muestran los caracteres que se hayan tecleado en la "hyperterminla" hasta antes de que se haga un retorno de carro (Enter). El problema radica en que mientras lo uso con la hyperterminal del "Proteus" todo funciona de maravilla, tecleo algo y le doy enter y aparece en la LCD; sin embargo, cuando utilizo la hyperterminal de windows xp, tecleo algo y le doy enter, pero la hyperterminal no me envía nada hacia el PIC.
El programa es el siguiente:
Espero me puedan ayudar.
►El programa consiste en una LCD en la cual se muestran los caracteres que se hayan tecleado en la "hyperterminla" hasta antes de que se haga un retorno de carro (Enter). El problema radica en que mientras lo uso con la hyperterminal del "Proteus" todo funciona de maravilla, tecleo algo y le doy enter y aparece en la LCD; sin embargo, cuando utilizo la hyperterminal de windows xp, tecleo algo y le doy enter, pero la hyperterminal no me envía nada hacia el PIC.
El programa es el siguiente:
Código:
#include <16F877a.h>
#use delay(clock=4000000)
#include <lcd.c>
#use RS232(BAUD=9600, BITS=8, PARITY=N, XMIT=PIN_C6, RCV=PIN_C7)
void main()
{
char texto[9]; //Arreglo para limitar a 9 carácteres
int primero=1;
lcd_init();
Lcd_putc ("\f");
while(1)
{
if(primero==1)
{
puts("Introduce Un Texto (max. 9 caracteres)y pulsa enter: ");//Instruciones que se muestran sólo en la Terminal
}
if(primero>=2)
{
puts("Puedes Seguir Escribiendo (max. 9 caracteres)y pulsa enter: ");//Instruciones que se muestran sólo en la Terminal
}
gets(texto);
Lcd_putc ("\f");
printf(lcd_putc,"Texto:\n");
printf(lcd_putc,"%s\r",texto);
delay_ms(300);
primero=primero+1;
}
}
Espero me puedan ayudar.
Última edición: