Other Parts Discussed in Thread: SYSCONFIG
Tool/software:
Hi TI-Experts!
In the related question thread I had the problem that my CAN-ID-Filtering didn't work. I now found out the reasons:
1st: I initialized the filter IDs after the execution of DL_MCAN_addStdMsgIDFilter() where the filters are configured. So I configured the filtering with non-initialized filter IDs.
2nd: I didn't use the "Advanced Configuration" in sysconfig so I didn't set the .filterConfig.anfe = 2 and .filterConfig.anfs = 2. So non-matching frames are accepted even after i managed to set the filtering correctly.
So now I managed to get my filtering working.
But other problems stay unsolved:
The receiving of CAN-Messages does not work reliably. Sometimes the first CAN message gets received correctly, sometimes the first CAN message does not trigger a CAN Rx interrupt and is therefore not received.
And this unreliable reception continues with every further message that is to be received. sometimes it works, sometimes not.
When one message is not received and then the next message is received correctly, the CAN RX interrupt is triggered and both the "new message bit"(MCAN_IR_RF0N_MASK) and the "Message RAM Access Failure bit"(MCAN_IR_MRAF_MASK) are set.
But only the message that triggered the CAN RX interrupt is received. the other message does not appear in the rx message struct.
Is there any possibility to look into the CAN RX FIFO to see, if the messages are in the FIFO but did not trigger an interrupt?
My RX MSG RAM is configured properly and there is no overlapping between FIFO0, FIFO1 and Buffer. and I don't use CAN TX so there should be not overlapping and influencing by the TX MSG RAM.
What could be the reason for not triggering an interrupt or to be more precisely what could be the reason that some messages are not received while ohers are received properly?
Thanks a lot in advance!
Matze