Je modifie le code du microcontrôleur AVR et PIC depuis quelques années maintenant pour le travail, mais je n'ai jamais rien écrit à partir de zéro, je le comprends assez bien.
Je commence à écrire mon propre code maintenant et j'ai du mal à démarrer. Je me demandais comment d'autres personnes commençaient à écrire du code et s'il y avait un livre ou un tutoriel que les gens recommanderaient à ce sujet.
Commencez-vous par coder votre fonction d'initialisation, puis interrompez puis les minuteries puis la boucle principale while (1) ... Je me demande quelle est la meilleure façon de commencer.
Je vous remercie
Mon tutoriel AVR-from-scratch-in-C préféré est https://www.mainframe.cx/~ckuethe/avr-c-tutorial/
Chacun a son propre style pour les petits systèmes embarqués. Voici la mienne:
J'aime utiliser beaucoup de fichiers C, le nom de chacun constituant un préfixe pour les fonctions. Par exemple,
led_init()
etled_tick()
sont tous les deux dansled.c
. Cela maintient les choses modulaires et contribue à la portabilité.J'utilise un
common.h
fichier d'en-tête pour définir les types, mais des inclus individuels pour chaque module.J'ai tendance à utiliser une seule minuterie système freerunning (en a
systime.c
) puis à demander aux modules d'appeler unesystime_get()
fonction pour récupérer l'heure actuelle en ticks système ou en millisecondes. Chaque module peut ensuite planifier des événements via des minuteries logicielles à l'aide desX_tick()
fonctions.common.h:
uart.h:
uart.c:
led.h:
led.c:
principal c:
Voici deux projets "du monde réel" utilisant ce style pour AVR et MSP430 .
la source