- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tryed switch to Normal mode by Usem manual, but MCU not work and reset.
How return MCU to Normal mode after STOP?
Best regards, Vladimir.
- Labels:
-
ispn:16044:1:0
-
l1:408:1:0
-
l2:146:1:0
-
l3:922:1:0
- Tags:
- IFX
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
sorry for the late response here.
Can you please share the code, where you go to Stop Mode and go back to Normal (Active) Mode?
Best regards
Ramius
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Ramius.
I work in uVision and tell about software pack in uVision.
In pack 1.4.4 and scu.c\h version 0.3.8 I enter to stop mode like this and all work good:
for(idx = 0; idx < 4; idx++)
{
SCU_EnterStopMode();
vTaskDelay(1);
PMU_Clear_Reset_Status();
}
In pack 1.4.6 and scu.c\h version 0.5.2 after Stop MCU work not correct. Looks like PLL not started and MCU work on some default oscilator. I try restart PLL after STOP mode like this:
for(idx = 0; idx < 4; idx++)
{
SCU_EnterStopMode();
vTaskDelay(1);
PMU_Clear_Reset_Status();
}Field_Mod8(&SCU->NMICON.reg, (uint8)SCU_NMICON_NMIPLL_Pos, (uint8)SCU_NMICON_NMIPLL_Msk, 0);
SCU->PLL_CON.bit.VCOBYP = 1;
SCU->PLL_CON.bit.OSCDISC = 1;
SCU->OSC_CON.bit.OSCTRIM_8 = 1;
idx = SCU->OSC_CON.reg;
idx |= (1<<5);
SCU->OSC_CON.reg = idx;
SCU->PLL_CON.bit.OSCDISC = 0;
SCU->PLL_CON.bit.RESLD = 1;
while(0 == SCU->PLL_CON.bit.LOCK)
{
}
SCU->PLL_CON.bit.VCOBYP = 0;
Field_Mod8(&SCU->NMICON.reg, (uint8)SCU_NMICON_NMIPLL_Pos, (uint8)SCU_NMICON_NMIPLL_Msk, 1);
But it not work. Now I use scu.c\h version 0.3.8 in my code
Best regards, Vladimir.