Manual
Table Of Contents
RS485 CAN Shield User Manual
7
Rev: V1.4, Date: May 19
th
2015
share awesome hardware
TxMessage.Data[5] = 'e';
TxMessage.Data[6] = 's';
TxMessage.Data[7] = 't';
pc.printf( "**** This is a RS485_CAN_Shield Send test program
****\r\n");
while(1) {
RS485.printf("ncounter=%d ",j);//RS485 sending
wait(1);
TransmitMailbox = CAN_Transmit(CAN1, &TxMessage);//CAN sending
i = 0;
while((CAN_TransmitStatus(CAN1, TransmitMailbox) != CANTXOK) &&
(i != 0xFFF)){
i++;
}
if(i == 0xFFF){
pc.printf("\r\can send fail\r\n");// Send Timeout, fail
}
else{
pc.printf("\r\nCAN send TxMessage successfully \r\n");
//Send successfully
}
pc.printf("\r\nRS485 send: counter=%d\r\n",j++);//print message
pc.printf("The CAN TxMsg: %s\r\n",TxMessage.Data);
wait(1);
}
}
2.3.2. Receiving side pr ogram description
CAN: After related registers are initiated. The receiving side will check if FIFO data exist. If yes, the
received message will be saved in the mailbox RxMessage and printed.
RS485: Enable RS485 reception interruption and set RS485_E to low for setting RS485 to receving
status. Then, interrupt service routine will scan received message via RS485.scanf.









