Hi @Mohmedsohel,
Could you share how are you testing your code? Are you using a CAN to USB analyzer? Keep in mind that two nodes (or one node and a CAN analyzer) are needed for CAN communication to work. Are you able to see data transfer without the PIT timer?
Most likely your issue is with priorities when entering interrupts. The Interrupt service routing should be a small non-blocking code, but you have a transfer function in your handler. I would recommend using interruption, or a flag in the handler of the interrupt to signal a new transfer.
void PitNotification(void)
{
interruptFlag = 1;
}
int main(void)
{
...
/* Infinite loop */
for (;;)
{
if(1 == interruptFlag)
{
interruptFlag = 0
// Transmit CAN message
FlexCAN_Ip_Send(INST_FLEXCAN_0, TX_MB_IDX, &tx_info, TX_MSG_ID, dummyData);
}
}
}
Best regards,
Julián