Disculpen si este tema existe pero no encontré en el buscador.
Estoy intentando usar 2 rs232 en un mismo PIC, uno por hardware y otro soft.
Mi problema es que el que trabaja por soft quiero que espere datos de un lector de código de barras y luego los almacene en un buffer y lo entregue al PC por rs232.
mi problema es que se queda esperando que el rs232 por soft envie algo y no lo lee y cuando no envia nada se queda esperando y el tiempo no corre.
#use rs232 (baud=9600,XMIT=PIN_C6,RCV=PIN_C7)
void enviar(void){
for(j=0;j<41;j++)
putc(BM[j]);
}
#use rs232 (baud=9600,RCV=PIN_D0,FORCE_SW)
void bandamagnetica(void){
unsigned int16 timeout;
int j;
char t0[]="Deslizar Tarjeta";
char t1[]="No se pudo leer dato";
borrarlcd;
imprimir(1,1,t0,1,1);
while(!kbhit()&&(++timeout<50000)) delay_us(10);
if(kbhit()){
for(j=0;j<41;j++)
getc(BM[j]);
}
else {
borrarlcd;
imprimir(1,1,t1,1,1);
}
}
en el programa principal sencillamente mando a bandamagnetica primero y despues a enviar, no se que pasa pero se queda esperando el pic a que envien algo... estoy omitiendo algun campo?