你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32处理通讯数据的方案比较

[复制链接]
奏奏奏 提问时间:2018-9-6 17:17 /
结合我现在做的项目说,
有CAN通讯与串口通讯需要处理,
目前我的处理方案(方案一)是将协议解析与处理直接在中断回调函数中运行,
后续想尝试(方案二)在CAN接收中断与串口接收中断中只做数据缓存(用FreeRTOS的消息队列),
协议解析与处理用单独的任务处理:循环体中反复取出消息队列中缓存的数据,根据协议解析并处理。

方案一:优点:处理及时
             缺点:不适合做复杂处理占用中断时间,理论上中断处理越简单越好,但是通讯协议中会包含有占用时间长的执行动作

方案二:优点:中断占用时间短
             缺点:对通讯数据响应不及时

想跟做过类似项目的大佬们交流一下。
收藏 评论3 发布时间:2018-9-6 17:17

举报

3个回答
huangyanga 回答时间:2018-9-6 19:44:36
推荐方案2,中断中存一下数据立即回到循环体,响应其实很快。反而方案1在中断中耽误太多时间,影响下次中断接收,这就不能说是处理及时了,是根本就不处理。
feixiang20 回答时间:2018-9-6 22:48:19
中断处理一定要及时的,本来就注重不要被错误原因卡死之类,所以推荐二
xiajintaord 回答时间:2018-9-7 10:48:16
不管是从业务逻辑还是代码逻辑来考虑,都推荐将数据接收和协议解析分开处理
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版