Hi, for my project I want to use all of the 8 Flexcan Modules. When I use the first instance like in the example project, the physical bus works fine with interrupt/error handling.
During initialization I can see that the ESR1 registers of CAN1...7 are not changing any values. CAN0 instance is set to SYNC and IDLE.
The initialization of every instance is performed by the FLEXCAN_DRV_Init() function:
/* Initialize FlexCAN driver */
FLEXCAN_DRV_Init(INST_FLEXCAN1, &flexcan1_State, &flexcan1_InitConfig0);
FLEXCAN_DRV_Init(INST_FLEXCAN2, &flexcan2_State, &flexcan2_InitConfig0);
FLEXCAN_DRV_Init(INST_FLEXCAN3, &flexcan3_State, &flexcan3_InitConfig0);
FLEXCAN_DRV_Init(INST_FLEXCAN4, &flexcan4_State, &flexcan4_InitConfig0);
FLEXCAN_DRV_Init(INST_FLEXCAN5, &flexcan5_State, &flexcan5_InitConfig0);
FLEXCAN_DRV_Init(INST_FLEXCAN6, &flexcan6_State, &flexcan6_InitConfig0);
FLEXCAN_DRV_Init(INST_FLEXCAN7, &flexcan7_State, &flexcan7_InitConfig0);
FLEXCAN_DRV_Init(INST_FLEXCAN8, &flexcan8_State, &flexcan8_InitConfig0);
The structures for init are the same and they're generated by Processor Expert. After FLEXCAN_Enable(base) is called, ESR1 of CAN0 looks like the following:
BenMW_0-1629804174229.png
On the other instances it looks different:
BenMW_1-1629804316672.png
Does anyone knows why CAN1...7 are not enabled correctly? The MCR registers of the modules are the same:
BenMW_2-1629804576283.png
BenMW_3-1629804603586.png
Thanks a lot!