ainda não funcionou:
Placa 1:
void main (void)
{
int8 data[3]={0,0,0};
data[0]=123;
PORTF=0X00;
TRISF=0X00;
can_init();
while(1)
{
while(can_putd(0xAA,data[0],1,3,1,0)==0);
RF7=1;
delay_ms(1500);
RF7=0;
delay_ms(1500);
}
}
Placa 2:
void main (void)
{
int32 ID;
int8 data[3]={0,0,0};
int8 X;
int8 len;
struct rx_stat status;
int8 OK1[20]={"CONFIGURACAO OK"};
int8 OK2[20]={"MENSAGEM RECEBIDA"};
int8 TEXTO[20]={"A ID FOI ACEITA"};
int8 F[20]={"VALOR TX= "};
can_init();
GLCD_MODE(1);
GLCD_ESCREVE(0,0,OK1,1,1);
while (1)
{
if ( can_kbhit() )
{
GLCD_ESCREVE(0,10,OK2,1,1);
if(can_getd(ID, &data[0], len, status))
{
if (ID == 0xAA)
{
GLCD_ESCREVE(0,20,TEXTO,1,1);
X=data[0];
//X=22;
F[10]=(X/100)+0x30;
F[11]=((X%100)/10)+0x30;
F[12]=((X%100)%10)+0x30;
GLCD_ESCREVE(0,30,F,1,1);
}
}
}
}
}
O valor do dado transmitido é sempre errado...