完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
问题如下:
RS485半双工Modbus通讯,单片机做主站,有定时刷新通讯任务,又有按键事件的写入任务,一般主站都会写入优先,但是按键是随机不定时发生的,如何让写入任务优先于定时刷新读取啊? 最近做的程序,这个问题始终没有处理好,导致有的时候按下按键,刚好读取还没完成,按键没反应! |
|
相关推荐
2个回答
|
|
串口通信和按键,都是很慢的事件,
随便都能解决。 查询就行,不用任何中断。且不说这个方法。 说说中断的方法: 串口用接收中断,服务程序里保存数据,然后退出,基本不耗费CPU。 平时CPU检测按键,并且对串口接收数据进行解码。 |
|
|
|
只要按钮按下就做个记忆,等读取完成时,再进行按钮处理就行了,跟哪个先来没有关系,你说按钮没反应那就是程序问题
|
|
|
|
只有小组成员才能发言,加入小组>>
3101 浏览 9 评论
2793 浏览 16 评论
3304 浏览 1 评论
8656 浏览 16 评论
3900 浏览 18 评论
9515浏览 3评论
821浏览 3评论
415浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
411浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2146浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-2 23:18 , Processed in 0.922804 second(s), Total 80, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191