OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...

查看: 186|回复: 4

命令请求和响应包接收

[复制链接]

  离线 

12

主题

197

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

最佳答案

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

用状态机分时处理事件
回复

使用道具 举报

  离线 

14

主题

414

帖子

0

精华

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

  离线 

12

主题

197

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

  离线 

501

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

  离线 

12

主题

197

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则




关闭

"原子哥”推荐上一条 /1 下一条

QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-7-23 14:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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