How can different message object reveive interrupt be responded by different ISR

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User20055
Level 1
Level 1
In order to enable the interrupt response of TC297MultiCAN+, we have done the following work:
(1) Enable interrupt source, such as enable the Message object reception or transmission interrupt;
(2) Enable and configure the Service Request Control Register (SRC) of Service Request Nodes (SRN) inInterrupt Router module .
We have tested the Message object receiving and sending interruptsof CAN and CANR module and CAN node transmission interrupts. Testing all interrupt output line INT_Om(m = 0 , 1 … 15 ),
but currently it can only be triggered through SRN0, which is the interrupt function under SRC_CANINT0.The link cannot trigger the other SRNm (m=1,2 … 15), that is,
the interrupt function under the SRC_CANINTm(the SRC_CANINTm register has been enabled and configured ) .
So, how to link the receiving and sending interrupts of different Message objects to different SRC_CANINTm so that different ISRs can respond to the interrupts of different Message objects ?
0 Likes
3 Replies
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
Have you read 22.7.6 Interrupt Control and 22.4.10.1 Message Object Interrupts? You also need to set MOIPRn.RXINP, to select which CAN interrupt is triggered (i.e., which SRC_CANINTn).
0 Likes
User20055
Level 1
Level 1
Thank you for your reply. I have read 22.7.6 Interrupt Control and 22.4.10.1 Message Object Interrupts. I have tested that MOIPRn.RXINP=(0,1,2...15), but they all are only responed to SRC_CANINT0.
I used version iLLD_1_0_1_11_0.
0 Likes
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
As an experiment - can you let your application set up CAN, stop the CPU with a debugger, have your CAN tool send just the message that triggers MOIPRn.RXINP<>0, and then capture the values of SRC_CANINT0..15? I'm presuming your debugger is set up not to halt MultiCAN in this case.
0 Likes