Fonctions » Historique » Révision 2
Révision 1 (Patrice Nadeau, 2024-01-27 15:12) → Révision 2/3 (Patrice Nadeau, 2024-01-27 15:25)
# Fonctions Les fonctions définies dans une librairie de bas niveau pour du matériel (« driver ») devraient utiliser le nom définis dans la fiche technique. ## Règles Le nom DOIT être dans le format suivant : Item_Action_Attribut 1. Action signifie : * set, get, clear : Règle, obtient ou vide un registre * read, write : Lis ou écris dans un fichier * init : Fonction d’initialisation * is : Vérifie un état * setup : Fonction de configuration des ports (p. ex. :AVR) 1. Le modificateur static doit être utilisé dans la déclaration d’une fonction avec une vue locale 1. Contient les commentaires Doxygen supplémentaires suivants : > Si nécessaire, sinon ne pas inclure le champ * `param[in,out]` : Nom du paramètre et description * @arg : Valeur prédéfinie d’un paramètre (#, * *) * @return : Description de la valeur retournée * `@retval` : Si une valeur de retour est prédéfinie, une ligne pour chaque valeur * `@pre` : Chaque précondition, sur une ligne séparée, sinon le terme Sans objet * `@post` : Chaque postcondition, sur une ligne séparée, sinon le terme Sans objet * `@sa` : Si une référence à un autre objet doit être faite (#), sinon le terme Sans objet * Un paragraphe **Exemple* contenant un exemple de code, si nécessaire 1. Ne contient qu’un seul `return` ## Exemple ```c /** * @brief Vérifie si une horloge est initialisée * @param[in] nb Le numéro du timer parmi * @arg #TIMER_1 * @arg #TIMER_2 * @return * @retval true Horloge *nb* est initialisée * @retval false Horloge *nb* n'est PAS initialisée * @pre init_timer * @post Sans objet * @par Exemple * @code * ... * @endcode **/ static bool is_timer_set(uint8_t nb); ``` ## Justification • [TB3262 - AVR1000b : Getting Started with Writing C-Code for AVR® MCUs](https://ww1.microchip.com/downloads/en/Appnotes/AVR1000b-Getting-Started-Writing-C-Code-for-AVR-DS90003262B.pdf) • Correspondance avec la fiche technique (datasheet)