Other Parts Discussed in Thread: C2000WARE
Hello TI,
I am trying to transmit 2 PDOs in my infinite loop.
The issue is that by the time I write in MCAN_TXBAR |= SECOND_PDO; the transmission of the 1st PDO hasn't occurred yet, so it flags my 2nd PDO as cancelled in MCAN_TXBCF, but I see no errors in MCAN_IR.
This is in configuration with only TX dedicated buffers.
In a mixed configuration with TX Queue and Dedicated Tx buffers (trying to transmit PDOs with TX Queue) the issue is the same (2nd PDO doesn't get sent), but the PDO isn't flagged in MCAN_TXBCF.
In examples from C2000ware I see that you use a while loop on MCAN_TXBRP register.
Is this the only way to transmit PDOs/Buffers one right after the other? To be noted that transmitting those PDOs/Buffers does not trigger an interrupt (as intended and configured).
In previous CAN modules, for example TMS320x2806x CAN's module (spruh18) to accomplish this, I had to write in CANTA (Transmission Acknowledge Register) the corresponding message box that I wanted to transmit and after in CANTRS (Transmission Request Set Register) the same value. I haven't found for the MCAN module an equivalent for CANTA register.

