Développement de pilotes RTOS - Réaliser un lecteur de bouton via des composants RTOS - Optimisation 2

Développement de pilotes RTOS - Réaliser un lecteur de bouton via des composants RTOS - Optimisation 2

aperçu

Un bon pilote nécessite des relations de données claires, une grande réutilisabilité du code et une maintenance facile.

Comme mentionné dans RTOS Driver Development - Realizing Button Driver through RTOS Components 1 , la version de base du code du pilote de bouton permet à tout le monde de se familiariser avec le principe de base du pilote de bouton. Il a les problèmes suivants :

  1. La réutilisabilité du code est faible. Créer un nouveau bouton nécessite plus de changements de code.
  2. Les informations de données ne sont pas très claires et la relation entre la broche et son ID correspondant n'est pas liée, ce qui conduit à une correspondance d'informations peu claire et affecte la maintenance.
  3. Une fois la clé créée, elle est résidente. Une fois les clés GPIO19 et GPIO21 de l'exemple créées, elles existent toujours dans le système et les clés correspondantes ne peuvent pas être annulées dans le programme.

Dans la section précédente, certaines mesures d'optimisation ont été introduites, bien que ces mesures d'optimisation aient amélioré la réutilisabilité du code et que les informations sur les données soient devenues plus claires. Cependant, les mesures d'optimisation susmentionnées n'optimisent pas le troisième point du problème ci-dessus, c'est-à-dire que le bouton créé est permanent et que le bouton correspondant ne peut pas être annulé pendant le fonctionnement du programme, ce qui limite l'utilisation du pilote de bouton dans les scénarios où la création dynamique /l'annulation du bouton est requise.

Cette section suit la section précédente et continue d'optimiser le pilote de bouton pour implémenter un pilote de bouton relativement complet qui peut être utilisé dans des produits réels.

Analyse des besoins et des fonctions

Les changements apportés aux principaux moteurs comprennent principalement :

1) Donnez la priorité aux boutons, et les boutons avec une priorité élevée peuvent être répondus dès que possible :

typedef enum<

Guess you like

Origin blog.csdn.net/wangyx1234/article/details/129196439