栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

简述HAL库中滴答定时器的使用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

简述HAL库中滴答定时器的使用

这里对自己学习STM32F407HAL库开发的一个记录,可能有理解上的错误,还请大家见谅!

 这里时钟配置就不过多描述,首先进入Systick初始化函数

HAL_SYSTICK_Config函数是给重装载值赋值,当计数器向下计数未到0(产生中断)时,此时是在死循环里面的。通过计算这个值为1680.

 这个函数是位于Coretex内核中的一个函数,用于初始化滴答定时器。

 首先与最大重装载值比较,若比最大重装载值大,则直接无初始化操作,将(SystemCoreClock/100000)这个值赋给重装载数值寄存器,然后将当前数值寄存器赋值为0,这样当重装载数值寄存器的值向下递减为0的时候产生一个中断,这个中断处理函数我们可以定义。对CTRL的操作就是对定时器和中断进行使能。

 

 

延时函数的实现就是通过SysTick中断函数来实现的,  

 

 

Systick定时器每产生一次中断,调用一次这个(TimingDelay_Decrement)函数,当咱们传入的递减值为0的时候跳出死循环,从而达到延时的目的。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923603.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号