OpenEdv-开源电子网

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

无os,动态数码管显示,实时检测按键状态

[复制链接]

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2012-11-5
在线时间
0 小时
发表于 2014-12-14 10:58:50 | 显示全部楼层 |阅读模式
5金钱
在无os的情况下,单片机既要动态数码管显示,又要实时检测按键状态,如果使用大量延时的话,会造成单片机响应不及时。
请问怎么解决这个问题?
数码管显示和按键都放到定时中断里做吗?

最佳答案

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

用中断扫描LED和按键。其他的延时随便用。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-12-14 10:58:51 | 显示全部楼层
用中断扫描LED和按键。其他的延时随便用。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

17

主题

168

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
260
金钱
260
注册时间
2014-4-12
在线时间
0 小时
发表于 2014-12-14 10:58:51 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
见到有用状态机按键的,但那样也是要10ms在主函数里扫描,占用而且定时器。不知道妥不妥。哎,这种取舍,看情况了
规格严格,功夫到家
回复

使用道具 举报

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2012-11-5
在线时间
0 小时
 楼主| 发表于 2014-12-14 15:00:53 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-12-14 22:46:32 | 显示全部楼层
回复【4楼】FMX_2011:
---------------------------------
可以啊
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2015-1-14 20:52:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

50

主题

385

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1126
金钱
1126
注册时间
2014-8-24
在线时间
146 小时
发表于 2015-1-14 23:43:27 | 显示全部楼层
像三楼说的那样,使用时间片轮转+状态机啊
像这个介绍的这种
http://blog.chinaunix.net/attachment/attach/26/98/16/5926981659d4246ddc2fd7b958acbe0afbda5ad38b.txt
感觉介绍的很好
找一份喜欢的工作,这样每天工作的8个小时是快乐的。 找一个喜欢的人,这样每天工作之外的16个小时也是快乐的。
回复

使用道具 举报

17

主题

168

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
260
金钱
260
注册时间
2014-4-12
在线时间
0 小时
发表于 2015-1-21 19:28:59 | 显示全部楼层
回复【7楼】tao475824827:
---------------------------------
“时间片轮转+状态机”是在主函数中检测是否到了10ms,我老是纠结,万一代码很长,执行的任务很多,按键处理不及时怎么办(这种情况应该很少,单片机的执行速度应该木有这么慢)。若是用外部中断检测按键是否按下,可以立马检测到,但是这样做的话,又不知道怎么使用状态机来处理消抖了。
规格严格,功夫到家
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 07:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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