Hi All,
I have a system where multiple nodes are connected on the CAN bus. I am using the S12ZVCA micro on one of the system. When I receive a command from a particular node I put the micro in to STOP mode and wait for a CAN bus traffic to wake up and transition to Normal mode. This STOP mode to Normal mode transition works for certain tens of times but after a while the micro enters the STOP mode and does not respond to CAN traffic anymore and remains in the STOP mode.
Could anyone suggest me on how to determine the cause of this issue ?
Thanks in advance,
Harsha J K
Hi,
please check (create some external flag - pin level, diode,...) whether you accidentally set the I bit which disables interrupts on global level or you accidentally disable CAN interrupt on local level?
Best regards,
Ladislav
Hi,
Do you enter a sleep mode of the CAN module before youi enter STOP mode of the MCU?
void CAN_EnterSleep(void)
{
CAN0CTL0_SLPRQ = 1; /* MSCAN enter sleep mode */
while (!(CAN0CTL1_SLPAK)) ; /* Wait for sleep mode acknowledge */
}
Best regards,
Ladislav
Hi lama,
Thanks for the reply. Yes I do enter the CAN sleep as you have mentioned above before entering the STOP mode.
- Harsha