[N32G43x]

关于FreeRTOS实现微秒级tick问题

[复制链接]
355|8
手机看帖
扫描二维码
随时随地手机跟帖
leileimh|  楼主 | 2023-3-16 09:35 | 显示全部楼层 |阅读模式
本帖最后由 leileimh 于 2023-3-16 11:29 编辑

我想在N32G435RB芯片上跑FreeRTOS,并且实现一个8khz频率的任务。目前想的是修改config_rate_hz为1000000,也就是tick为1us,想知道这样是否合适,或者还是单独开个定时器中断来跑这个任务(这个任务大概运行时间30us左右),不知道哪个合适,或者有没有更好的方案(主要目前板子还没到,实测不了,希望大伙能给点建议,谢谢!)

使用特权

评论回复
评论
cooldog123pp 2023-3-18 19:47 回复TA
厉害! 
pattywu| | 2023-3-16 16:22 | 显示全部楼层
肯定不行.
进出中断是有代价的, 光保存与恢复10多个寄存器,所用的时间就不少,中断太频繁, mcu就不用干什么了,一直在保存/恢复寄存器中.

使用特权

评论回复
评论
GlenX 2023-3-16 20:05 回复TA
是这样! 只能用现有资源凑合。建议做5或10UStick,对于8K误差是可以接受的就行。 
zchong| | 2023-3-16 21:11 | 显示全部楼层
tick这么高肯定不合适,另外开个定时器中断处理吧

使用特权

评论回复
jobszheng| | 2023-3-17 10:14 | 显示全部楼层
每125us个周期,执行一个30us的任务。
看看其它任务的优先级与占用时间,再评估一下。感觉,您这个系统不适合使用RTOS了。

使用特权

评论回复
wsdmzz| | 2023-3-17 15:17 | 显示全部楼层
兄弟 跑空循环吧 30us 够了  定时器和改tick不太现实   我之前也考虑过

使用特权

评论回复
coody| | 2023-3-17 15:28 | 显示全部楼层
RTOS的节拍1us?切换不过来的,死翘翘。

使用特权

评论回复
mcu5i51| | 2023-3-17 21:06 | 显示全部楼层
使用独立中断

使用特权

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

本版积分规则