2024-03-27 02:33 PM
I have set up the FDCAN and confirmed that sending single messages works. However, I cannot get the FIFO to work at all - if I queue two messages at the same time, only the first appears on the wire. It is fine if I add a 1ms delay before sending the second message. I guess this works because the first message is long gone rather than still active. Rather than dig into the HAL code, I created an external queue to feed messages in one at a time. The idea is to call
Solved! Go to Solution.
2024-03-28 09:54 AM
I resolved this by changing the mode to External Loopback. I now get the TX complete interrupt and it behaves exactly as expected. I currently have no other device on the bus, so I guess that was a problem. It remains to be seen how this works for reception.
2024-03-27 03:43 PM
I have managed to get consecutive messages to work by inserting a delay in TxFifoEmptyCallback() of about 50us. This seems rather arbitrary and unsatisfactory. My guess is that the TX complete interrupt is the right place to do this, but I am still not able to make it happen.
2024-03-28 09:54 AM
I resolved this by changing the mode to External Loopback. I now get the TX complete interrupt and it behaves exactly as expected. I currently have no other device on the bus, so I guess that was a problem. It remains to be seen how this works for reception.