This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
In the TMS470R1VF3382 devices with SCC CAN Controller, there was a TA bit for every Transmitted Message Object [spnu197e.pdf].
I am trying to implement similar behaviour of Transmit_Message_Acknowledge within DCAN.
How do I perform the similar function of Transmit_Completed in Polling Mode when no DCAN TxIE and RxIE bits are set for any of the Message Objects?
I thought that I can use NEWDAT and INTPND Bits of the respective DCAN Message Objects to decipher that Transmit_Acknowledge information.
That's why I am asking the question below.
Does DCAN_INTPNDX bit is set unconditionally upon successful transmission of DCAN Message irrespective of TxIE bit of the respective Message Object?
Reference section of spnu489a.pdf is shown below:
16.15.13 Interrupt Pending X Register (DCAN INTPND X)
Any alternate method of Transmit_Acknowledge within DCAN using Polling Mode is also welcome.
Thank you.
Regards
Pashan
RxIE and TxIE gate the INTPND bit in each CAN message. The INTPND register hold the values of all the INTPND bits in each message. Therefore, you need to set TxIE/RxIE to have INTPND set. However, you can enable/disable the interrupt by the IE0/IE1 bit in the DCAN control register. After you disable the interrupt through IE0/IE1 bits, you can poll INTPND register to process your CAN message.
Regards,
Haixiao
In the previous post, I mentioned IntPND MUX register. That is not correct. It should IE0/IE1 in the DCAN control register. They can be used to disable/enable the interrupt. IntPND MUX only maps the interrupt to IE0 or IE1. I have already modified that post.
Haixiao