Projet

Général

Profil

Actions

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)
  2. Le modificateur static doit être utilisé dans la déclaration d’une fonction avec une vue locale

  3. 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
  4. Ne contient qu’un seul return

Exemple

/**
* @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
• Correspondance avec la fiche technique (datasheet)

Mis à jour par Patrice Nadeau il y a environ 2 mois · 3 révisions