Other Parts Discussed in Thread: SYSCONFIG
Hello,
I am using an application with a CAN output
I use runsleep0 power mode, then all is fine with debugger, and also fine if I use the part out of debugger
By fine I mean that CAN frames are sent, then it goes to sleep, then out of sleep, and CAN frames are sent
To reduce power I change to standby instead of sleep, with debugger all is fine, but out of the debugger, after the first time standby is entered, then no CAN frames are sent
DL_GPIO_clearPins(GPIO_PORT, GPIO_TCAN_SLEEP_PIN);//disable CAN transceiver
DL_MCAN_disableModuleClock(MCAN0_INST);
//DL_SYSCTL_setPowerPolicySTANDBY0(); //TBR 23/05/2023! due to bug in early samples, it doesn't work
DL_TimerA_startCounter(TIMER_0_INST); //start timer zero
DL_TimerA_stopCounter(TIMER_1_INST); //stop timer 1
NVIC_DisableIRQ(TIMER_1_INST_INT_IRQN);
NVIC_EnableIRQ(TIMER_0_INST_INT_IRQN); //clock from sleep mode
counter_100ms_u16 = 0; //reset main loop
counter_10ms_u16 = 0;
counter_100ms_fs_u16+=32; //in order to keep the 2 min counter alive, to be improved
//DL_SYSCTL_setPowerPolicySTOP0(); //for flash mode only - stop 0 still can works but not in stop 2
//DL_SYSCTL_setPowerPolicySTANDBY1();//for flash mode only- no can in standby 1, in standby 0 same
DL_SYSCTL_setPowerPolicyRUN0SLEEP0(); //for debug mode
__WFI(); //tbr 23/05/2023: according to help from TI, one WFE/WFI is sufficient to stay in sleep mode
//SYSCFG_DL_init();
DL_TimerA_stopCounter(TIMER_0_INST); //stop timer zero
DL_TimerA_startCounter(TIMER_1_INST); //start timer 1
NVIC_EnableIRQ(TIMER_1_INST_INT_IRQN);
NVIC_EnableIRQ(ADC12_0_INST_INT_IRQN); //enable ADC interrupt
DL_SYSCTL_setPowerPolicyRUN0SLEEP0();
__WFI(); //tbr 23/05/2023: according to help from TI, one WFE/WFI is sufficient to stay in sleep mode
Only difference I saw from early samples (as this code was created at that time) is that timer 1 is on TMA0 as there is no TIMG1 available from sysconfig now
Could it be the issue?
Thanks
BR
T.