J'utilise un Atmega328. J'ai des broches de sortie qui sont distribuées "au hasard" le long du brochage, c'est-à-dire qu'elles n'appartiennent pas aux mêmes ports. Par exemple, mes broches de sortie pourraient être PB0, PB4, PC1, PC3 et PD1. J'ai toujours utilisé Assembly pour programmer des microcontrôleurs, ce serait donc la première fois que j'utilise C. Ce que je veux savoir, c'est s'il existe un moyen d'éviter d'utiliser DDRx et Px pour chaque broche pour les régler ou les effacer.Programmation AVR en C
Par exemple, je voudrais utiliser quelque chose comme ceci pour régler le premier bit de Port B:
#define NAME_1 DDRB,0
sbi NAME_1;
Est-ce possible?
EDIT:
Peut-être que je ne me suis pas exprimé clairement. Ce que je veux, c'est pouvoir me référer à certaines broches du port E/S avec des noms significatifs. Par exemple, nom PD3 "blue_LED", de sorte que le code est plus lisible et, si la position de la LED bleue est modifiée plus tard, le code peut être facilement modifié. Autrement dit, je veux pouvoir allumer et éteindre certaines broches avec leurs noms qui ne sont pas codés en dur. Y a-t-il un moyen?
' | = 1;' ne compilerait pas quelque chose de significatif? (après avoir remplacé '' par quelque chose comment le port B peut être défini en C, je ne connais pas votre plate-forme) –
Ped7g
Oui vous devriez pouvoir avoir une expérience semblable en C, vous voudriez démonter et inspecter pour vous assurer qu'il utilise les bonnes instructions, mais le compilateur est plutôt bon à ce sujet. –