Ola,
com o seguinte codigo o PIC não recebe nenhum dado... o programa apenas corre
printf ("\n\r DEBUG while");
delay_ms(1000);
PS: para enviar os dados estou a usar o siow do ccs
#include <16f877A.h>
#fuses NOWDT,XT, PUT, NOPROTECT, BROWNOUT, LVP, NOCPD, NOWRT, NODEBUG
#use delay(clock=8000000) // para o 16f877A
#use rs232(baud=19200, parity=N, xmit=PIN_C6, rcv=PIN_C7, STOP=1, BITS=8)
#include <stdlib.h>
char dataRS232=0;
int8 contador=0;
char Buffer[5]="\0";
int8 Temp=0;
#int_RDA
void Serial_isr(void)
{
printf ("\n\r DEBUG Serial_isr");
dataRS232=0;
if(kbhit())
{
dataRS232=getc();
if(dataRS232!='\r')
Buffer[contador++]=dataRS232;
}
}
void main (void)
{
while(true)
{
printf ("\n\r DEBUG while");
delay_ms(1000);
if ( dataRS232 == '\r')
{
printf ("\n\r DEBUG 1");
Temp = atoi(Buffer);
printf ("\n\r Nova Consigna de Temperatura >> %uº", Temp);
dataRS232 = 0;
Temp = 0;
printf ("\n\r DEBUG 1");
}
}
}