Fiz um novo programa, só com isso:
char y,x;
void main()
{
lcd_init();
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
x=10;
rs232_errors=0;
putc(x);
putc(x);
while(true)
{
putc(x);
y=getch();
if(x!=y)
{
printf(lcd_putc,"\fDeu erro no %i\nRecebi %i",x,y);
delay_ms(700);
}
printf(lcd_putc,"\f%i ",y);
}
}
E ficou pior que antes, olha só uns exemplos da coisas que ele le:
19,-37,-1,33,83,11,110,-128,3,33,-46,8,19,-33,-101-,109,0,-37,-27,45,-5,-45.
Nem um 10 ele le..
não entendo porque isso não funcoina.
A taxa está em 4000bps.
Uma coisa estranha é que se eu ficar espichando as antenas ele fica recebendo quase sempre 0.
Ou quando eu coloco o tranmissor muito perto do receptor, digamos que o pino da antena deles fique a 1cm um do outro.