搜索
bottom↓
回复: 10

ucos应用中,中断处理的状态机应该放在中断服务里吗?

[复制链接]

出0入0汤圆

发表于 2016-2-1 16:26:00 | 显示全部楼层 |阅读模式
书上说,ucos的原则就是尽量中断服务里只放一些信号量。
但是我之前写逻辑,串口的协议处理都是放在中断里的,比如分析包头,包尾。
要把串口的协议处理单独的划分成一个任务吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2016-2-1 17:38:27 | 显示全部楼层
对。如果你的中断任务太长,会严重干扰其他任务的执行。比如系统时钟一般中断优先度设为最低。你中断程序太长,会影响系统时钟的准确性。

出0入10汤圆

发表于 2016-2-1 18:42:45 | 显示全部楼层
我就觉得没有什么所谓,因为串口分析协议也占用不多时间啊,几个判断跟赋值。弄不好先保存数据起来反而耗时。

出0入0汤圆

发表于 2016-2-1 20:24:50 | 显示全部楼层
10xjzheng 发表于 2016-2-1 18:42
我就觉得没有什么所谓,因为串口分析协议也占用不多时间啊,几个判断跟赋值。弄不好先保存数据起来反而耗时 ...

数据不用额外保存,通过消息(指针)传给任务。实际没有开辟额外空间。

出0入0汤圆

发表于 2016-2-1 20:29:42 | 显示全部楼层
正确的做法是,解析协议单独一个任务,中断里面只放一些信号量。
在任务中判断一帧是否结束,比如modbus  30ms无数据即为一帧结束,如果解析放中断里面 不好判断一帧是否结束。
任务和任务间,中断和任务间尽量只用一些信号量/消息/事件同步。

出0入0汤圆

发表于 2016-2-1 21:29:23 | 显示全部楼层
正在学习中,过来看看大家都是怎么处理的

出0入0汤圆

 楼主| 发表于 2016-2-4 15:41:09 | 显示全部楼层
路人甲被注册了 发表于 2016-2-1 20:29
正确的做法是,解析协议单独一个任务,中断里面只放一些信号量。
在任务中判断一帧是否结束,比如modbus  3 ...

你说的确实有道理。
我就是还不太吃的准UCOS的消息传递速度怎么样。
串口接收一个字符大概就几十us,消息传递给任务,任务执行一遍对接收到的字符处理是否都来得及?

出0入0汤圆

发表于 2016-2-4 16:59:57 来自手机 | 显示全部楼层
别说os了,即使普通程序的中断也是尽量只放最少更新数据,而把大段程序放外部处理。

出100入101汤圆

发表于 2016-2-4 19:40:08 来自手机 | 显示全部楼层
对于串口来说,中断里把数据放到一个FIFO比较合适

出100入101汤圆

发表于 2016-2-4 19:41:20 来自手机 | 显示全部楼层
对于网口来说,中断中释放一个信号量比较合适

出0入0汤圆

发表于 2016-2-5 13:40:29 | 显示全部楼层
本帖最后由 路人甲被注册了 于 2016-2-5 13:43 编辑
yodrome 发表于 2016-2-4 15:41
你说的确实有道理。
我就是还不太吃的准UCOS的消息传递速度怎么样。
串口接收一个字符大概就几十us,消息 ...


速度取决于OS时钟节拍。而时钟节拍是你设置的。通常为1ms以内,就说你是加入你处理串口任务的优先级最高,传递时间小于1ms。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 19:38

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表