完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现在RTT(0.3.3版本至少)将rt_timer(以下叫它看门狗,叫法跟vxworks一样)放到rt_thread(叫它任务控制块把)里面 这样有点叫人不爽啊 为啥啊 ,你想啊,每次建立一个定时器得开个线程(我叫任务把)
开销大把 况且受系统最多255个线程的限制,定时器最多也只能开255个。任务是任务,定时器是定时器。 我想这样搞啊 :在系统心跳函数中RTT不知道叫什么函数了 我就叫他tickAnnounce()把 void tickAnnoucne() { (1)read队列每个node(计时+1) (2) foreach(Node node in readyQList) { if(node is 任务控制块) { TASK_TCB tcb=(TASK_TCB)node; //任务调度了。。。。 } else { //这个就是看门狗了 WATCH_DOG dogNode=(WATCH_DOG)node; 从readQList摘除 调用dogNode->callbackFunc(); } } 然后系统在提供几个API 函数 比如: wdCreate() wdStart() wdDelete() 之类的 OK!! 好处 :定时器跟任务分离,定时器数目不受限制。 } |
|
相关推荐
3个回答
|
|
定时器与线程无关系
|
|
|
|
你确定你看的是RT-Thread么
|
|
|
|
这个问题其实我刚开始也有疑问,不过后来初略看了下,所有的Soft Timer应该都是在一个任务中做处理的,RT_TIMER_TICK_PER_SECOND不知道有啥用,改天好好看看代码和文档。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
413 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
1762 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1135 浏览 0 评论
1604 浏览 0 评论
1418 浏览 0 评论
74669 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 12:46 , Processed in 0.763881 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号