We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Dear sir;
I am doing an automotive project in LPC2368.Here It uses CAN for making communication between the nodes .The bit rate for both TX and RX is at 500KBits per second.
I configured a network consisting of two transmission nodes and single reception node.If I transmit with 12 data from "CAN_Send_Data" buffer like
while(1) { pCAN_Send_Data = CAN_Send_Data; for( i=0;i<12;i++) { Return_Value=lpc2000CANdriver_CertainTxBufTransmitMessage(LPC2000_CANCHANNEL_1,pCAN_Send_Data,LPC2000_TXB_1); pCAN_Send_Data++; } }
In the receiver I am not getting all data from transmitter.If I put the delay I am getting most of data in Receiver.I am putting delay as shown below,
while(1) { pCAN_Send_Data = CAN_Send_Data; for( i=0;i<12;i++) { for(j=0;j<200000;j++); /*delay for making Receiver to proccess data*/ Return_Value=lpc2000CANdriver_CertainTxBufTransmitMessage(LPC2000_CANCHANNEL_1,pCAN_Send_Data,LPC2000_TXB_1); pCAN_Send_Data++; } }
Will you please tell me ,How I can transmit a data from transmitter in order to achieve 500KB per second(with or without delay) ,such that I can receive and proccess(printing in UART0) all data in the receiver.
Sincerely Shamsudheen OP
Hi,
look at the errata sheet of the lpc2368. There's a bug with the CAN controler. I don't knwo if it's related to your bug , but it can help :)