HOLA AMIGOS DE TODOPIC...RECIBAN UN CORDIAL SALUDO...QUERIA SOLICITARLES AYUDA EN CUANDO A UN PROGRAMA QUE ESTOY INTENTANDO HACER Y ES PARA PODER RECIBIR DATOS CON LA INSTRUCCION GETS...YA HE HECHO TODO LO QUE SE PERO AL PARECER ME FALTA ALGO...AQUI LES DEJO EL PROGRAMA DEL TRANSMISOR Y DEL RECEPTOR.
PROGRAMA TRANSMISOR:
#include <16F877.h>
#FUSES NOWDT, XT, NOPUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG
#use delay (clock = 4000000)
#use rs232(baud=9600,bits=8,parity=N,xmit=PIN_C6,rcv=PIN_C7,ENABLE=PIN_C5)
void main() {
set_tris_c(0x00);
while(true)
{
printf("%s","JULIO\r");
delay_ms(300);
}
}
PROGRAMA DEL RECEPTOR:
#include <16F877.h>
#FUSES NOWDT, XT, NOPUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG
#use delay (clock = 4000000)
#include <lcd.c>
#include <stdlib.h>
#use rs232(baud=9600,bits=8,parity=N,xmit=PIN_C6,rcv=PIN_C7)
#byte portb =06
#byte portc =07
char recibir[6];
char nombre[6]={"JULIO"};
#int_rda
void serial_isr(void)//función de interrupción por recepción de datos USART
{
if(kbhit()){
disable_interrupts(int_rda);
gets(recibir);
//delay_ms(300);
if(recibir!=0) //se compara clave introducida con real
{
lcd_putc("\f");
lcd_gotoxy(1,2);
printf(lcd_putc,"Correcto"); //si coincide correcta
}
else
{
lcd_putc("\f");
lcd_gotoxy(1,2);
printf(lcd_putc,"Incorrecto");
}
}
enable_interrupts(int_rda);
}
void main() {
lcd_init();
set_tris_c(0x00);
portc =0;
while(true)
{
enable_interrupts(global);
enable_interrupts(int_ext);
enable_interrupts(int_rda);
}
}
ESPERO ME PUEDEN AYUDAR..ADJUNTO EL CIRCUITO QUE USO PARA LA SIMULACION...