Re: problem regarding Succesful Transmission of CAN message

Started by Edward Karpicz March 26, 2009

> how application knows when arbitration lost? will msCAN retry later?
> thanks!

Yes MSCAN will retry later. It will keep retrying until message is send and
acked by other nodes.

> helo everybody
>> i am working on S12MSCAN-v2....for data transmission
>>between any test equipment and an ECU...the Microcontroller I am
>>using in the using ECU is MC9S12D64..
>> i have a question regarding this....
>> how can we know that the CAN transmission is
>>completed...instead of cheking the MSCAN transmitter register
>>(CAN0TFLG (TXE))..

Why checking TXE doesn't suit you?

>> how can we check the status of the CAN bus..i.e., when we
>>send a data to the Data segement register....CANTFLG will be set to 1
>>automatically stating that the transmitter buffer is empty that
>>means the transmission is completed succesfully..but how can we know
>>about the successful transmission if the CAN Bus is Open or any error
>>occured in the CAN bus...please provide the sample code for this if u

To check if bus is OK, you should configure RSTATEx, TSTATEx bits in CANRIER
register. Then you should monitor CSCIF flag. RSTATx (no E in bit name),
TSTATx flags are updated only when CSCIF is cleared. So every time error
status changes (CSCIF=1), you read error status flags RSTATx, TSTATx and
clear CSCIF by writing one to it.


>>it will help me alot..
>>thanks and regards