查看rt-thread的源码和相关文档,已经了解到了rt-thread定时器的实现原理,如文档介绍,该定时器的精度并不很高,请问下,rt-thread是否有更高定时器对象的实现?
比如有5个函数需要周期性被调用,周期比如为,10us,13us, 16us,21us,101us,等
补充一下:确实,如果周期特别小,达到us级别的,好像确实应用场景不多,但是,如果定时时间长,但是精度高,这种定时管理器就有应用场景了
查看更多
如此高的精度,软件定时器是没法实现的,软件一般就是10ms/1ms这种级别,也只能走硬件定时器这条路子了。另外,us级别的定时任务,恐怕只能简单输出波形这种,不然别的任务(程序)没法玩了?。
官方文档 高精度延时 了解一下
13us 16us周期执行任务? 那CPU负载得多高,要实现这么快的执行周期,CPU的主频得很高,然后只能通过硬件定时器的中断来完成。
要求是us级的基本需要硬件中断来实现了,你这个用FPGA更加合适
大家觉得,哪些应用场景,需要用到高精度,高性能的定时管理器呢?
ms可能行,但us级,mcu就偏差大些
个人觉得高精度定时功能是很有必要的, 很多传感器的触发信号都是要求高电平持续微秒级
实现片上硬件定时器的复用机制
增加高精度硬件定时器管理功能
提供高精度定时函数接口,接口通过硬件定时器管理状态表查询一个空闲的硬件定时器使用,并在管理状态表中设置状态为占用状态,启动硬件定时器,开启该硬件定时器中断,回调指定的超时钩子函数,完成后关闭。
感觉操作系统提供一个这样的功能应该还是挺好的,对于几十us执行一次中断服务函数占用资源这种问题其实只要做到即开即用,不用则关感觉还是没什么大影响的
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
是的,如果高精度,低粒度(us级别),好像确实没法玩了,但是如果某一个任务,需要102ms执行一次,这种高精度定时管理器就起到用处了