你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L073RZ-Nucleo按键状态机

[复制链接]
ctang 发布时间:2017-10-13 09:55
5 `2 S& g+ }( x& ^2 `1 x9 z

  K: e1 F6 U& r6 d( ~4 w) c, z6 y大多开发板按键LED例程里面,都用延时来消除抖动。这种方法,简单容易掌握。后来接触了状态机,就重新设计了按键LED代码,并且在官方板STM32L073RZ-Nucleo实验成功。
+ r- a, W6 M: D
5 W5 Y2 P8 a' t0 a1 V$ ]- w
1.延时的缺点是:当功能比较多的时候,就会造成系统比较卡顿的现象,使系统运行不流畅,因为在延时里面,CPU是死等在那里。0 I: `% b5 Z- k* H7 r- U
2 m# g  ?1 a* ^4 [3 P

3 \8 I. s( }( W" x3 e% T9 U, H2.状态机设计里面就取消了延时:MCU检测到按键后,定时器定时,达到一定时间后,继续扫描按键是否按下,然后计时按键按下的时间,当20ms以后按键还是按下状态,则执行按键操作,反之则认为是抖动。) f7 _$ s$ D! ^! A3 |7 ?% h# q
2 i& I* k- R# k. C

. [) _" f, a6 U3 R$ ?* t4 k项目代码见附件。# e, z# `8 S4 ~% L' u

$ J* Y4 h( {9 \+ G2 l+ Y

( P: h$ J( l) G3 A+ x. I' w3 u. O: u
5 Z4 Z' t) v! ?3 I

固件#04--STM32L073RZ-Nucleo按键状态机.pdf

下载

100.19 KB, 下载次数: 53

LED_FSM_CODE.rar

下载

8.02 MB, 下载次数: 78

评分

参与人数 1 ST金币 +20 收起 理由
creep + 20 赞一个!

查看全部评分

赞 收藏 4 评论9 发布时间:2017-10-13 09:55

举报

9个回答
ctang 回答时间:2017-10-13 10:29:58
MrJiu 发表于 2017-10-13 10:03( S1 ?! {4 _& W
时间片,见真晓!!!
; Q: y) b: k' J% E" D3 @8 }
多线程编程,一个任务一个线程。当一个线程在进行延时等待时,让CPU处理其他任务。  \8 O$ A, ?& J; J2 {
* I/ {; A9 @; }2 ^  {
线程池,相比一任务一线程,更加节约资源。可以实现多个任务更少线程,比如10个任务3个线程。
- n$ @$ f7 [+ J8 X; F$ W$ W' K0 T9 j
4 x4 h' `- d/ [: D并行编程Task Parallel Library,一个线程多个任务,任务中镶嵌其他任务。: Q2 f% q# `* m9 Z5 C4 e* D  }) `$ ^
' m) v' h1 Z) l" K" M
原子操作,互斥体,信号量。跑上了操作系统,各种优化设计。
MrJiu 回答时间:2017-10-13 10:03:02
时间片,见真晓!!!
creep 回答时间:2017-10-13 10:26:29
感谢分享!!!
ctang 回答时间:2017-10-13 10:33:22
creep 发表于 2017-10-13 10:268 }# l* u( B& I1 `: A( I
感谢分享!!!

$ `. ~& S% W& y% o& {不客气~
斜阳 回答时间:2017-10-13 10:38:24
谢谢分享        
zld9251 回答时间:2017-10-13 10:42:42
多谢分享
biweismart 回答时间:2017-10-13 10:44:26
28771946 回答时间:2017-10-13 17:21:37
很多方法都可以处理的。定时器做延时。
ctang 回答时间:2017-10-13 17:23:59
tangwenxiao 发表于 2017-10-13 17:21
' \/ j  r! _3 z; ^很多方法都可以处理的。定时器做延时。
) b9 l' K& f& C9 S9 [/ b
本文主要是想通过简单的按键编程,阐述状态机设计的思想。状态机的应用远远不止于此。

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版