Je suis novice dans la programmation embarquée et j'ai suivi des cours à ce sujet. Et travailler avec ATSTK600.Comment écrire des fichiers d'en-tête pour les périphériques
Je cherche de l'aide sur "comment écrire des fichiers d'en-tête pour les périphériques". Eh bien, pour être précis, quelles sont les normes à suivre lors de l'écriture des fichiers d'en-tête comme nommer un registre, etc (comment créer .h & include, que je connais).
Récemment, j'ai reçu une mission pour créer un fichier d'entête que j'ai fait, qui était sur la bonne voie avec quelques erreurs à corriger avant de le soumettre à nouveau. Lors de la définition USART (fait une erreur car cela est très nouveau pour moi)
#define USART_RX $0032
[que le professeur a dit est faux à cause de signe $ #define ne fonctionnera pas]. La définition suivante est-elle correcte?
#define USART0_RX 32
#define USART0_UDRE 34
#define USART0_TX 36
Une autre chose est que j'ai défini les ports comme suit, est-ce que cette convention de dénomination correcte?
#define I_PINS_PORTA 0x20
#define DD_PORTA 0x21
#define DATA_PORTA 0x22
Eh bien, quelque part j'ai lu la convention de dénomination correcte est #define BASE_ADDR_PORTA 0x20
mais ce qui doit être utilisé pour DD_PORTA
& I_PINS_PORTA
?
Je cherchais de l'aide à ce sujet sur le web & est tombé sur ce forum.
P.S. AM utilisant C comme langage de programmation.
Y a-t-il une raison pour laquelle vous ne voulez pas utiliser les fichiers d'en-tête d'Atmel? Ils sont déjà assez impressionnants. –
@Mark: ceci est apparemment courswork –
@Mark: Je suppose que l'instructeur cherche à amener les élèves à faire quelque chose de simple entièrement sur le métal nu sans compter sur les bibliothèques. Je pense que c'est une approche raisonnable - tout comme dans certaines classes de programmation, on pourrait demander aux étudiants d'implémenter quelque chose comme 'strcpy()' ou 'strcat()' sans utiliser les fonctions de la bibliothèque. Cela dépend des objectifs du cours. –