OpenEdv-开源电子网

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

主循环处理时间有点长,导致按键响应不灵敏

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2017-1-6
在线时间
7 小时
发表于 2017-1-6 13:58:09 | 显示全部楼层 |阅读模式
1金钱
我用SHT10检测温湿度、MQ-2检测烟雾,GPS定位,GSM发送短信。现在我主要加了3个按键进去,就是测试各个模块功能,能不能实现。但是在测试过程中,发现有时按键按下去没有反应,我分析主要原因是:循环中处理模块信息时间太长,导致有时候按键检测到,但是主循环还在处理其他事情。就导致这次的按键失效,就是丢键。不知道有没有大神,能给个思路,怎么及时处理按键响应。才学STM32 的2个月,如果觉得问题问的有点傻,莫怪!!!

最佳答案

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

1,可以把按键处理放在外部中断内,可以参考原子 外部中断实验 2,也可以在主循环内,可以参考原子 按键输入实验3,把温湿度,烟雾,GPS处理分别放在不同定时器内
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

32

主题

284

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1335
金钱
1335
注册时间
2014-3-27
在线时间
352 小时
发表于 2017-1-6 13:58:10 | 显示全部楼层
本帖最后由 wjfhsym 于 2017-2-8 10:00 编辑

1,可以把按键处理放在外部中断内,可以参考原子 外部中断实验
2,也可以在主循环内,可以参考原子 按键输入实验3,把温湿度,烟雾,GPS处理分别放在不同定时器内

回复

使用道具 举报

0

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
394
金钱
394
注册时间
2016-11-17
在线时间
103 小时
发表于 2017-1-7 08:58:22 | 显示全部楼层
只是测试,就将按键的处理函数丢到定时器中断里面就行了啊
回复

使用道具 举报

0

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1593
金钱
1593
注册时间
2014-4-27
在线时间
241 小时
发表于 2017-1-7 14:24:34 | 显示全部楼层
按键用外部中断就好了吧,原子的例程里面有的
回复

使用道具 举报

2

主题

15

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2017-1-25
在线时间
3 小时
发表于 2017-1-25 22:41:45 | 显示全部楼层
用原子哥的USMART呀,这个真的很好。或者你使用中断也可以呀
回复

使用道具 举报

28

主题

218

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
498
金钱
498
注册时间
2013-11-19
在线时间
92 小时
发表于 2017-10-9 16:01:30 | 显示全部楼层
按键处理程序使用状态机
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 10:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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