Galera, estou atormentado desde segunda com esse problema.
Estou usando um conversor USB para DB9 e um MAX232 para recebimento de dados pelo PIC16F874A. Como os pinos de UART padrão já estão sendo usados por um xbee, então tive de fazer um serial por software. Da seguinte forma:
- Código: Selecionar todos
#use rs232(baud=9600, parity=N, xmit=PIN_C6, rcv=PIN_C7, bits=8, stream=XBEE, ERRORS)
#use rs232(baud=2400, parity=N, xmit=PIN_B5, rcv=PIN_B2, bits=8, stream=TECLADO, ERRORS)
#use rs232(baud=2400, parity=N, xmit=PIN_B3, rcv=PIN_B1, bits=8, stream=BALANCA, ERRORS)
O problema é nessa parte do código:
- Código: Selecionar todos
if (kbhit(BALANCA)) {
caracter_recebido = fgetc(BALANCA);
fprintf(XBEE, "%c", caracter_recebido);
}
Eu estou usando o XCTU como terminal para enviar e visualizar os dados. Ao iniciar o sistema tudo parece tranquilo, mas depois de algum tempo dá a doida e o PIC começa a receber da BALANCA sem nada ter sido digitado e o pior é que o envio é intermitente.
Alguém já passou por isso. Alguém tem alguma solução ou sugestão.
Obrigado e até.