OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3977|回复: 4

命令请求和响应包接收

[复制链接]

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2017-12-26 15:36:20 | 显示全部楼层 |阅读模式
6金钱
现在写代码一直会遇到这样的问题:单片机在处理某一个外设请求的时候,如何兼顾到其他的外设请求,简而言之就是单片机如何能高效地并行处理多个外设通信。不带操作系统。
比如:指纹模块和ZIGBEE模块。单片机发送一个<读系统基本参数>指令给指纹模块,然后指纹模块收到的话,发送回复包呀。我的单片机是应该等这个回复包呢,还是说去做别的事情呢。如果等着的话,就会丢掉其他外设的请求,比如说ZIGBEE模块的数据,而且效率特别差。如果不等而是去做其他事情,那这条指令有没有执行成功,或者说返回的数据包是不是对应我发送的指令包,都不能判断,发送和接收不能同步。不知道大家是怎么处理这种问题的呢,能不能说说,一直困扰着我。

最佳答案

查看完整内容[请看2#楼]

用状态机分时处理事件
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2017-12-26 15:36:21 | 显示全部楼层
用状态机分时处理事件
让我们的思维驾驭在电的速度之上!
回复

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
 楼主| 发表于 2017-12-26 16:05:18 | 显示全部楼层
感觉有点像握手的问题,但是因为没有操作系统,不能单独开一个任务去做这个事情。所以这个过程怎么才能做的可靠,而又不影响系统实时性?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165369
金钱
165369
注册时间
2010-12-1
在线时间
2110 小时
发表于 2017-12-27 01:24:40 | 显示全部楼层
首先,肯定不可能是并行,mcu是单线程的。然后,如果不用操作系统,那就不太好做,只能在一个循环处理了。建议学会用os
回复

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
 楼主| 发表于 2018-1-10 09:29:42 | 显示全部楼层
裸机做成状态机确实不错。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-1 11:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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