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

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

概述

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

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

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

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

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

需求及功能解析

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

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

typedef enum<

你可能感兴趣的:(双核,RTOS,进阶篇,freertos,物联网,iot,单片机,驱动开发)