3回答

0收藏

【F030 Nucleo】3.按键信号量控制

STMCU STMCU 3048 人阅读 | 3 人回复 | 2015-08-07

    上一次用线程控制了LED灯的闪烁,这次在这个基础上增加按键控制的功能。
    不过这个功能不是直接在中断中控制LED的亮灭,而是在中断中通过发送信号量给主线程,在主线程中再去控制。
    可能你会觉得这样是不是多次一举,这是因为这个例子太过简单,在真正的产品中,一般逻辑业务的代码量会很大,不适合于在中断中直接执行。而有了信号量就可以在主线程中去执行,也省去了定义标志变量并检测,代码的可读性更高。


    程序初始化按键,按键是一个类,在业务控制部分不需要考虑实现。


    这是按键的中断响应函数,业务简单的时候可以直接控制,如果太过复杂还是发个信号量给主线程来执行。
    其中osSignalSet是RTx的,信号量通过它来发送,第一个参数是接受者的句柄。


    真正实现的部分,主线程通过判断信号量的值来执行不同的操作。
    这里举的例子简单,按下按键LED快闪,松开按键慢闪。


评分

参与人数 1与非币 +5 收起 理由
loveeeboard + 5 三周年铜板双倍!

查看全部评分

分享到:
回复

使用道具 举报

回答|共 3 个

倒序浏览

沙发

奋斗哥

发表于 2015-8-7 08:39:13 | 只看该作者

多谢楼主分享~
板凳

党国特派员

发表于 2015-8-10 15:35:48 | 只看该作者

多谢楼主分享。。。
喜欢在构思妙想,电子产品DIY是工作,也是一种爱好。
地板

xiaomi2009

发表于 2018-3-5 21:21:58 | 只看该作者

毫不犹豫给你加精!!
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条