stm32f4使用Systick实现延时

使用Systick定时器实现延时

一、SysTick定时器特性

  1. SysTick定时器是一个24位的递减计数器,即vlue自减等于0时触发中断,并重新加载load值,如此循环。
  2. 在stm32f4库文件中,默认将优先级设置为最低优先级,可进入函数SysTick_Config查看优先级设置。
  3. SysTick是Cortex-M内核的一部分,因此只要是Cortex-M内核都有该定时器。
  4. SysTick的时钟源可由HCLK产生,或则HCLK/8产生。

二、如何使用SysTick定时器

既然是定时器,那么至少应该设置2方面内容:
1. 定时时间
2. 定时时间到后做什么。

三、程序解析

1. SysTick定时器初始化

在SysTick定时器初始化需要注意SysTick时钟的选择,如果使用8分频一定要在SysTick_Config执行后,才执行时钟函数SysTick_CLKSourceConfig,否则时钟分频无效。

static void SysTickInit(void)
{
    #ifdef  SysTick_HCLK_Div8   /* SysTick时钟源为HCLK的8分频 */
    /* SystemCoreClock/1000/8      1ms 
      * SystemCoreClock/100000/8    10us
      * SystemCoreClock/1000000/8   1us        
      */
    SysTick_Config(SystemCoreClock/1000/8); 
    /* 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值