您所在位置:网站首页 > 海量文档
 > 计算机 > linux/Unix相关
linux中断底半部机制对比(任务队列,工作队列,软中断)由linux RS485引出的血案ispsubbChinaUnix博客.pdf5页
本文档一共被下载:次,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
15-6-16linux -- linux RS485 -ispsubb-ChinaUnix
Chinaunix首页 | 论坛 | 认证专区 | 博客 登录 | 注册 博文
【同行交流】IT同行技术交流群成立,欢迎加入
ispsubb的ChinaUnix博客
After all ,tomorrow is another day !
首页 | 博文 目录 | 关于我
linux 中断底半部机制对比 (任务队列 ,工作队列 ,软中断 )--由linux RS485
引出的血案 20 15-06-10 17:17:25
分类: 嵌入式
ispsubb
在LINUX RS485的使用过程中,由于各种原因,最后不得不使用中断底半部机制的方法来进行实现此
博客访问: 15453 功能。先讲两个小故事来描述一下,遇到的问题。也是因为自己对底半部机制理解得不透彻。这些故事的
博文数量: 15 前提都是在串口中断中,一定条件后去完成某件事情,但时间上不能超过5ms。
博客积分: 127 故事一,最开始想到的是用workqueue 。印象中workqueue 就是用来做这种事的,并且还记得可以延时
博客等级: 入伍新兵 一段时间再来做。
技术积分: 197 点击 (此处)折叠或打开
用 户 组: 普通用户 1. INIT_WORK(&my_wq,(void (*) (void*))my_wq_func);
2. schedule_work(&my_wq);
注册时间: 2011-01-29 15:22 3. //schedule_delayed_work(&my_wq,delay);
最终实现的结果是,my_wq_func 的执行是在中断响应后,但响应时间不确定。短的时候是1毫秒以内,
加关注 短消息
长得的时候出现过几十个毫秒。这样就达不到我们的要求。为什么出现这种时间不确定的问题呢?等故事
论坛 加好友 讲完再一起分析。schedule_delayed_work 延时执行的时间为最小一个jiffies,显然不能用在我们这种
/uidid-5077401.html 1/7
15-6-16linux -- linux RS485 -ispsubb-ChinaUnix
情况,我们要求小于5ms。
文章分类
故事二,工作队列不行后,感觉底半部机制就实现不了,满足不了我们的要求。上网翻了一些资料,觉
全部博文 (15) 得任务队列时效性应该比工作队列更好。就像买药的做广告一样,抱着试一试的态度尝试了一下。
translate (0)
job and
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名:
验证码:
匿名?
发表评论