打印
[应用相关]

STM32 HAL库方式的微秒延时函数

[复制链接]
手机看帖
扫描二维码
随时随地手机跟帖
21
gygp| | 2023-3-18 11:24 | 只看该作者 回帖奖励 |倒序浏览
hal库为什么编译变慢                 

使用特权

评论回复
22
geraldbetty| | 2023-3-18 12:54 | 只看该作者
有学习stm32 HAL库开发相关的书籍或者例程吗

使用特权

评论回复
23
songqian17| | 2023-3-31 20:59 | 只看该作者
如何将宏定义CPU_FREQUENCY_MHZ根据时钟主频修改

使用特权

评论回复
24
happy_10| | 2023-3-31 21:04 | 只看该作者
简单延时不错

使用特权

评论回复
25
Henryko| | 2023-4-2 16:26 | 只看该作者
systick被占用了

使用特权

评论回复
26
MessageRing| | 2023-4-5 23:30 | 只看该作者
定时器记一个脉冲,那误差不会很大吗?

使用特权

评论回复
27
jimmhu| | 2023-5-11 15:51 | 只看该作者
使用SysTick实现的延时函数结果居然不对?

使用特权

评论回复
28
minzisc| | 2023-5-11 20:40 | 只看该作者
做一个10us的延时函数,怎么实现比较好

使用特权

评论回复
29
Jacquetry| | 2023-5-11 23:11 | 只看该作者
这个只能用定时器实现吗

使用特权

评论回复
30
olivem55arlowe| | 2023-5-14 21:58 | 只看该作者
hal库中__weak函数前缀的作用是什么

使用特权

评论回复
31
MessageRing| | 2023-5-14 22:33 | 只看该作者
应该只能用定时器了吧

使用特权

评论回复
32
lizye| | 2023-5-30 21:07 | 只看该作者
嗯,如果是F1系列,此方式经过测试还是比较准的

使用特权

评论回复
33
wangpe| | 2023-5-30 21:08 | 只看该作者
如果不考虑通用性,F1系列建议使用此种方式。

使用特权

评论回复
34
songqian17| | 2023-5-30 21:12 | 只看该作者
占用一个定时器就算了

使用特权

评论回复
35
happy_10| | 2023-5-30 21:14 | 只看该作者
这个只能使用定时器了。              

使用特权

评论回复
36
yufe| | 2023-5-30 21:15 | 只看该作者

systick被占用了,不能微秒延时。

使用特权

评论回复
37
guoyt| | 2023-5-30 21:17 | 只看该作者
for循环实现us的延时的。              

使用特权

评论回复
38
chuxh| | 2023-5-30 21:18 | 只看该作者
占用一个定时器这个精度很高吗              

使用特权

评论回复
39
happy_10| | 2023-5-30 21:19 | 只看该作者
如果使用while或者for,这个精度大不大呢?

使用特权

评论回复
40
llia| | 2023-5-30 21:21 | 只看该作者
__weak uint16_t HAL_GetTick_us(void)
{
  return __HAL_TIM_GetCounter (&htim6 );//获取定时器6计数器的值
}
__weak void HAL_Delay_us(uint16_t Delay)
{
  uint16_t tickstart = HAL_GetTick_us();//计数器初始值
  uint16_t wait = Delay;//需要延时的值
        HAL_TIM_Base_Start (&htim6); //打开定时器
  while ((HAL_GetTick_us() - tickstart) < wait)//等待
  {
  }
        HAL_TIM_Base_Stop(&htim6); //关闭定时器
         __HAL_TIM_SetCounter (&htim6,0 );//定时器计数器清零,往往可以省略,会自动清零
}
blog.csdn.net/m0_65565606/article/details/122883740

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则