完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现在写代码一直会遇到这样的问题:单片机在处理某一个外设请求的时候,如何兼顾到其他的外设请求,简而言之就是单片机如何能高效地并行处理多个外设通信。不带操作系统。
比如:指纹模块和ZIGBEE模块。单片机发送一个<读系统基本参数>指令给指纹模块,然后指纹模块收到的话,发送回复包呀。我的单片机是应该等这个回复包呢,还是说去做别的事情呢。如果等着的话,就会丢掉其他外设的请求,比如说ZIGBEE模块的数据,而且效率特别差。如果不等而是去做其他事情,那这条指令有没有执行成功,或者说返回的数据包是不是对应我发送的指令包,都不能判断,发送和接收不能同步。不知道大家是怎么处理这种问题的呢,能不能说说,一直困扰着我。 |
|
相关推荐
6个回答
|
|
用状态机分时处理事件
|
|
|
|
感觉有点像握手的问题,但是因为没有操作系统,不能单独开一个任务去做这个事情。所以这个过程怎么才能做的可靠,而又不影响系统实时性?
|
|
|
|
首先,肯定不可能是并行,mcu是单线程的。然后,如果不用操作系统,那就不太好做,只能在一个循环处理了。建议学会用os
|
|
|
|
裸机做成状态机确实不错。
|
|
|
|
做成中断呀,任何事情都不能在里面等待结束
|
|
|
|
单片机不可能并行。
|
|
|
|
只有小组成员才能发言,加入小组>>
2975 浏览 9 评论
2692 浏览 16 评论
3214 浏览 1 评论
8438 浏览 16 评论
3777 浏览 18 评论
6961浏览 6评论
求助,请问MS51FB9AE带隙电压能作为侦测的基准电压吗?
7457浏览 3评论
6957浏览 3评论
支持UART-to-BLE透传的新唐NuTool – BLE ATCMD开发工具推荐
5805浏览 3评论
9375浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-24 09:11 , Processed in 0.766523 second(s), Total 83, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号