STM32
直播中

juju宇哥

9年用户 1474经验值
擅长:479809
私信 关注
[问答]

FreeRtos能否直接读取Rtos的系统时钟计数器来实现延时统计,改如何读取呢?

关于200~300uS的延时

1 能否直接读取Rtos的 系统时钟计数器来 实现延时统计,改如何读取呢?
2 通过独立的定时器中断来实现,这样感觉有点麻烦,好处是比较严谨,但是代码稍微复杂
3 直接while 循环倒计时  阻塞等待 ,这个计算出 CPU时钟周期, 然后想延时多久就可以算出来了

哪种方案好,或者 还有什么更好的方案

目的 为了控制IO输出

回帖(1)

刘婷婷

2024-4-29 09:49:19
一般用3就够了,需要注意最好把代码放在RAM上运行,避免某些MCU的Flash Prefetch或Cache造成影响。
用2也可以,就是需要占用一路定时器了。
1的话,应该没法做到。一般FreeRTOS的Tick是10ms左右,没法达到楼主要求的精度。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分