为什么32的嘀嗒定时器在低功耗stop模式唤醒后会比较缓慢

来源:互联网 发布:ubuntu 端口占用 编辑:程序博客网 时间:2024/04/28 05:23

首先我们看到M4的编程手册,里面有systick的时钟来源介绍,可以看到systick的计数源的AHB或者AHB/8。


systick的配置函数如下,可以看到选择的时钟源时AHB。

__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks){  if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)  return (1);      /* Reload value impossible */  SysTick->LOAD  = ticks - 1;                                  /* set reload register */  NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Systick Interrupt */  SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */  SysTick->CTRL  = <strong>SysTick_CTRL_CLKSOURCE_Msk </strong>|                   SysTick_CTRL_TICKINT_Msk   |                   SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */  return (0);                                                  /* Function successful */}

接着我们来看下AHB这个时钟部分,AHB在系统的时钟配置函数下是180M,所以systick的时钟频率一般都是180M。



在CPU从stop模式被唤醒之后,由于HSE的外部时钟被关闭了,用的是HSI,所以就变慢了




0 0
原创粉丝点击