STM32F103跳过停止模式,不能进入停止模式

来源:互联网 发布:python return语句用法 编辑:程序博客网 时间:2024/05/21 19:34

问题:

STM32F103跳过停止模式,不能进入停止模式stopmode



static voidled_thread_entry(void*parameter)

{

   unsigned int count = 0;

   rt_hw_led_init();

 

   while(1)

   {

       rt_hw_led_on(0);

       rt_thread_delay(RT_TICK_PER_SECOND / 2);

       rt_hw_led_off(0);

       rt_thread_delay(RT_TICK_PER_SECOND / 2);

       {

            //失能 SysTick计数器

    //如果这里不失能 SysTick 计数器,那么会不能进入低功耗模式的

            SysTick->CTRL = 0x00;//关闭定时器

            SysTick->VAL = 0x00;//清空val,清空定时器

       }

       {

            //进入stopmode低功耗模式

            RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);//使能 PWR外设时钟

            PWR_WakeUpPinCmd(ENABLE);//使能唤醒管脚功能

            PWR_EnterSTOPMode(PWR_Regulator_ON,PWR_STOPEntry_WFI)//唤醒后时钟变为内置8MHz,需要重新配置RCC,才能正常运行,否则PLL关闭。

       }

   }

}

 

/**

  *@brief  This function handles SysTickHandler.

  *@param  None

  *@retval None

 */

void SysTick_Handler(void)

{

   TimingDelay_Decrement();

}

解决办法:





原创粉丝点击