打印
[51单片机]

请教问题:串口通信和其他功能冲突。

[复制链接]
1631|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tianqi911|  楼主 | 2018-12-14 10:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
串口使用发现一个问题,和按键有冲突。
目前尝试从2个方面去解决。
1.是中断优先级,调高了串口优先级,也试了调高按键优先级,结果发现,不可靠,十几次,大概有1次会死机;
2.逻辑处理,就是逻辑判断,按这个,另一个函数不响应,结果也完犊子了,还是不可靠。

请问高人们有什么彻底解决的方法没有?可靠,鲁棒性强。

相关帖子

沙发
mcu5i51| | 2018-12-14 10:36 | 只看该作者
修改程序框架吧

使用特权

评论回复
评论
tianqi911 2018-12-17 11:28 回复TA
谢谢高人指导。 
板凳
ayb_ice| | 2018-12-14 11:44 | 只看该作者
按键响应这么慢的事件根本就不用中断,主循环轮循就轻松搞定
一看就是框架不行

使用特权

评论回复
评论
tianqi911 2018-12-17 11:30 回复TA
大神抽空指导,谢谢。 
地板
追夜| | 2018-12-16 16:13 | 只看该作者
按键这种输入功能,就不要放中断里,定时轮询就可以了。而且很容易拓展,你要多少个键都可以不用大改程序。中断都是处理优先级很高,实时性要求高的功能。

使用特权

评论回复
评论
tianqi911 2018-12-17 11:30 回复TA
谢谢高人指导。 
5
cainiao518| | 2018-12-17 11:33 | 只看该作者
按键一般用主程序查询即可满足,串口一般用中断响应更及时

使用特权

评论回复
6
tianqi911|  楼主 | 2018-12-17 11:38 | 只看该作者
阿西吧。我之前问的时候,明明很多人说,按键放到中断里去扫描的。

使用特权

评论回复
7
cainiao518| | 2018-12-17 11:44 | 只看该作者
tianqi911 发表于 2018-12-17 11:38
阿西吧。我之前问的时候,明明很多人说,按键放到中断里去扫描的。

在中断中扫描肯定可以,关键看逻辑

使用特权

评论回复
8
懒人| | 2018-12-17 11:58 | 只看该作者
关键的是程序。。。。。框架

使用特权

评论回复
9
mcu51hi2c| | 2018-12-19 10:00 | 只看该作者
让我来指导你,软件配置一个1MS的中断,进一个中断置sysTime10msFlag为1,在大循环里判断
if(sysTime10msFlag == 1)
{
     sysTime10msFlag = 0;
     //在这里加入按键扫描函数
}
软件就这么简单

使用特权

评论回复
评论
mcu51hi2c 2018-12-19 10:15 回复TA
@tianqi911 : 嗯,这个不难 
tianqi911 2018-12-19 10:03 回复TA
呦西。试试先。 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

235

帖子

2

粉丝