RTOS 驱动开发篇-通过 RTOS 组件实现按键驱动-优化2

RTOS 驱动开发篇-通过 RTOS 组件实现按键驱动-优化2

概述

一个好的驱动程序需要数据关系清晰、代码可复用性高,并且便于维护。

如在 RTOS 驱动开发篇-通过 RTOS 组件实现按键驱动1 中所述的那样,基础版本的按键驱动代码只是为了让大家熟悉按键驱动的基本原理。它存在下述问题:

  1. 代码复用性差。新建一个按键,需要改动较多代码。
  2. 数据信息不是很清晰,管脚与其对应的 ID 关系没有绑定,导致信息对应关系不明确,影响维护。
  3. 按键创建后是常驻的,示例中的 GPIO19、GPIO21按键被创建后,就一直存在于系统中,无法在程序中取消对应按键。

在上一节 中介绍了一些优化措施,虽然这些优化措施改善了代码的复用性、数据信息也变得更加清晰了。但是前述的优化措施,没有优化上述问题的第三点,即创建的按键是常驻的,程序运行中不能取消对应的按键,这限制了该按键驱动在需要动态创建\取消按键的场景中的使用。

本小节紧接上节,继续优化按键驱动,实现一个相对完善的真实的产品中可能使用的按键驱动程序。

需求及功能解析

对按键驱动的更改主要包括:

1)对按键进行优先级划分,高优先级的按键可以尽快被响应:

typedef enum<
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物联网老王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值