OpenEdv-开源电子网

 找回密码
 立即注册
查看: 130|回复: 4

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

[复制链接]

  离线 

2

主题

6

帖子

0

精华

新手上路

Rank: 1

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

最佳答案

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

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

使用道具 举报

  离线 

26

主题

135

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

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

回复

使用道具 举报

  离线 

0

主题

8

帖子

0

精华

初级会员

Rank: 2

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

使用道具 举报

  离线 

0

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

  离线 

2

主题

15

帖子

0

精华

新手上路

Rank: 1

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2017-2-20 05:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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