STM32Cubemxhal库的轮询方式和HAL_Delay()函数的时基

作者很好奇在hal库只带的阻塞方式和hal_Delay()函数中的时间是如何进行配置的 也没有进行时钟的配置啊 就去深入的了解了一下;

在这里作者以串口发送的轮询函数为例:

找到hal库里面的串口发送函数

找到该函数的原形:

发现定义了个tickstart变量和一个HAL_GetTick()函数  猜测该函数可能和计数有关 再看下面

有一个关于timeout的函数 我们找到他的原型

在该函数的原型 我们又发现了tickstart变量和一个HAL_GetTick()函数 并且让timeout值等于他

那我们就去找找这个变量和这个函数

就发现了原来HAL_GetTick函数是读取计数值的一个函数 那我们就要去找这个计数值是多久计数一次 那我们就去跳转uwTickFreq变量

发现他是一个1ms更新一次的中断的变量 该变量就是hal库的时基

我们再去在HAL_Delay()函数

发现HAL_Delay函数也是用的这个变量 HAL_GetTick()可以读取该变量

至此 就是作者对于hal库只带的延时函数和阻塞方式的一些看法

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

willingli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值