查看: 2376|回复: 3

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

[复制链接]
  • TA的每日心情
    奋斗
    2022-9-16 05:52
  • 签到天数: 1368 天

    连续签到: 1 天

    [LV.10]以坛为家III

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

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

    2.png

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

    3.png

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


    评分

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

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-15 09:28
  • 签到天数: 222 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2015-8-7 08:39:13 | 显示全部楼层
    多谢楼主分享~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2023-7-25 22:49
  • 签到天数: 385 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-8-10 15:35:48 | 显示全部楼层
    多谢楼主分享。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-3-5 20:48
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2018-3-5 21:21:58 | 显示全部楼层
    毫不犹豫给你加精!!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则



    手机版|小黑屋|与非网

    GMT+8, 2024-4-24 06:51 , Processed in 0.174684 second(s), 25 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.