完善资料让更多小伙伴认识你,还能领取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不知道有啥用,改天好好看看代码和文档。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统威廉希尔官方网站 与产业发展论坛”圆满结束
1963 浏览 0 评论
2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
13704 浏览 11 评论
2136 浏览 0 评论
IaaS+on+DPU(IoD)+下一代高性能算力底座威廉希尔官方网站 白皮书
3543 浏览 0 评论
飞凌嵌入式-ELFBOARD 常用的USB接口及其不同版本介绍第1期
1252 浏览 0 评论
68793 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-21 05:37 , Processed in 0.406312 second(s), Total 41, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号