Hola a todos, estoy intentando usar un modulo lector de tarjetas rfid (id12), que se somunica serialmente, pero el problema que tengo es que cada que paso la tarjeta, me envia primero 2 caracteres del codigo, despues de pasar de nuevo me da otros cuantos numero, y a la tercera pasada de la tarjta me da lo que falta para completar el codigo, ya lo probe conectandolo a la computadora y ahi me bota el codigo completo cada que paso la tarjta pero con el 16f877a me salta este problema, aqui pongo el codigo:
#include <16F877a.h>
#fuses hs,NOWDT,nolvp
#use delay(clock= 20000000)
#use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7,bits=8)
#include <lcd.c>
#byte portb = 0x06
int8 b1 = 0;
int8 b2 = 0;
int8 b3 = 0;
int8 b4 = 0;
int8 b5 = 0;
int8 b6 = 0;
int8 b7 = 0;
int8 b8 = 0;
int8 b9 = 0;
int8 b10 = 0;
int8 b11 = 0;
int8 b12 = 0;
int8 b13 = 0;
int8 b14 = 0;
#int_rda
rda_isr(){
//b1=getchar();lcd_gotoxy(1,1);printf(lcd_putc,"%c",b1);
b2=getchar();lcd_gotoxy(2,1);printf(lcd_putc,"%c",b2);
b3=getchar();lcd_gotoxy(3,1);printf(lcd_putc,"%c",b3);
b4=getchar();lcd_gotoxy(4,1);printf(lcd_putc,"%c",b4);
b5=getchar();lcd_gotoxy(5,1);printf(lcd_putc,"%c",b5);
b6=getchar();lcd_gotoxy(6,1);printf(lcd_putc,"%c",b6);
b7=getchar();lcd_gotoxy(7,1);printf(lcd_putc,"%c",b7);
b8=getchar();lcd_gotoxy(8,1);printf(lcd_putc,"%c",b8);
b9=getchar();lcd_gotoxy(9,1);printf(lcd_putc,"%c",b9);
b10=getchar();lcd_gotoxy(10,1);printf(lcd_putc,"%c",b10);
b11=getchar();lcd_gotoxy(11,1);printf(lcd_putc,"%c",b11);
b12=getchar();lcd_gotoxy(12,1);printf(lcd_putc,"%c",b12);
b13=getchar();lcd_gotoxy(13,1);printf(lcd_putc,"%c",b13);
b14=getchar();lcd_gotoxy(14,1);printf(lcd_putc,"%c",b14);
}
void main(){
lcd_init();
enable_interrupts(int_rda);
enable_interrupts(global);
}
Cuando ensamblo, me da el siguiente warning:
Warning 208:Line(1,8): Function not coid and does not return a value rda_isr
Ayudenme que es para mi tesis,
Ademas me lee la tarjta unas 3 veces y cuando completa el codigo ya no lee mas.
Gracias