Je suppose que votre expérience C ++ est basée sur PC.
Une erreur souvent commise par les programmeurs passant du PC au microcontrôleur est qu'ils ne réalisent pas à quel point les ressources peuvent être limitées . Sur un PC, personne ne vous arrêtera lorsque vous créez une table avec 100 000 entrées ou que vous écrivez un programme qui se compile en 1 Mo de code machine.
Il y a des microcontrôleurs qui ont une richesse de ressources mémoire, surtout dans le haut de gamme, mais c'est encore loin de ce à quoi vous serez habitué. Pour un projet de loisir, vous pouvez probablement toujours opter pour le maximum, mais dans un projet professionnel, vous serez souvent obligé de travailler avec un appareil plus petit car il est moins cher .
Sur un projet, je travaillais avec une TI MSP430F1101. 1 Ko de mémoire de programme, 128 octets de configuration Flash, 128 octets de RAM. Le programme ne cadrait pas dans le 1K, j'ai donc dû écrire une fonction de 23 octets dans la configuration Flash. Avec ces petits contrôleurs, vous calculez par octet . À une autre occasion, la mémoire du programme était de 4 octets trop petite. Le patron ne me laissait pas utiliser le contrôleur avec plus de mémoire, mais à la place, j'ai dû optimiser un code machine déjà optimisé (il était déjà écrit dans l'assembleur) pour s'adapter aux 4 octets supplémentaires. Vous obtenez l'image.
Selon la plate-forme sur laquelle vous travaillez, vous devrez gérer des E / S de très bas niveau . Certains environnements de développement ont des fonctions pour écrire sur un écran LCD, mais sur d'autres, vous êtes seul et devrez lire la fiche technique de l'écran LCD du début à la fin pour savoir comment le contrôler.
Vous devrez peut-être contrôler un relais, c'est plus facile qu'un écran LCD, mais cela vous obligera à aller au niveau du registre du microcontrôleur. Encore une fois une fiche technique ou un manuel d'utilisation. Vous devrez apprendre à connaître la structure du microcontrôleur, que vous trouverez dans un schéma fonctionnel, à nouveau dans la fiche technique. À l'époque du microprocesseur, nous parlions d'un modèle de programmation, qui était essentiellement une liste de registres du processeur. Les microcontrôleurs d'aujourd'hui sont si complexes qu'une description de tous les registres peut prendre le meilleur parti d'une fiche technique de 100 pages. IIRC vient de décrire le module d'horloge pour le MSP430 était de 25 pages.
Vous devrez souvent gérer la gestion des événements en temps réel . Une interruption que vous devez gérer dans un délai de 10 , par exemple, et pendant celle-ci, une autre interruption nécessite la même précision de synchronisation. μ
Microcontrôleurs sont souvent programmées en C . Le C ++ est plutôt gourmand en ressources, donc c'est généralement le cas. (La plupart des implémentations C ++ pour microcontrôleurs offrent un sous-ensemble limité de C ++.) Comme je l'ai dit, selon la plate-forme, vous pouvez disposer d'une vaste bibliothèque de fonctions qui pourraient vous faire gagner un peu de temps de développement. Cela vaut la peine de prendre du temps pour l'étudier, cela peut vous faire gagner beaucoup de temps plus tard si vous savez ce qui est disponible.