User manual

20 13
Vous pouvez ensuite commuter la sortie sur le niveau high (haut) ou low (bas) dans le
registre PORTx.
Si, dans le registre DDRx, le bit est à 0, le pin correspondant est alors configuré pour
l’entrée.
Vous pouvez alors lire dans le registre PINx le statut du pin et terminer si vous
souhaitez le régler sur le niveau high ou low.
Vous pouvez encore activer les résistances pull up intégrées au micro contrôleur, en
réglant les bits dans le registre PORTx. Cela est intéressant, parx exemple, pour des
palpeurs ou des capteurs similaires.
Les pins I/O suivants sont disponibles sur le RP6 CONTROL M32 (les finitions
exactes figurent dans le fichier Header RP6Control.h) :
Vous pouvez également utiliser les canaux ADC comme pins I/O ! Veillez aux noms
utilisés différents des appellations ci-dessus (ADC_7 / ADC7)
Remarque importante : Les pins I/O séparés sont prévus pour un courant maximum de
20mA. Au total, un port 8 bit ne doit être chargé à plus de 100 mA ! Si vous souhaitez
utiliser plus de courant, vous devez utiliser un transistor externe !
Pour des informations plus précises, veuillez vous référencer à la fiche de données du
MEGA32, figurant sur le CD-ROM !
3. Documentation RP6 CONTROL
Tout comme pour le robot en lui-me le RP6 CONTROL M32 dispose également
d’une bibliothèque fonctionnelle comportant de nombreuses fonctions très utiles pour les
débutants. La bibliothèque s’intitule RP6ControlLibrary ou RP6ControlLib en raccourci.
Les fonctions stop-watch, delay, UART et bus I²C sont identiques à la RP6Library
normale. Les fichiers utilisés pour UART et bus I²C sont d’ailleurs les mêmes, et sont
localisés dans le sous-dossier RP6common. Nous ne décrirons donc pas à nouveau ces
deux fonctions – veuillez vous référer à nouveau au chapitre concerné du mode d’emploi
du RP6 et aux programmes d’exemple !
Nous allons vous décrire ici les fonctions spécialement dédiées au RP6Control ou qui ne
fonctionnent pas dans le RP6Lib.
Malgré un grand nombre de fonctions préétablies, le RP6ControlLib nest quune
base ! Cette bibliothèque est de loin parfaite et vous pouvez nettement l’améliorer et la
compléter ! Nous faisons ici appel à vos capacités de programmation !
3.1. Initialiser le micro contrôleur
Comme déjà indiqué dans le RP6Lib, votre programme doit TOUJOURS appeler cette
fonction en premier ! Pour le RP6ControlLib, seul le nom change…
Cette fonction initialise les modules hardware du micro contrôleur du RP6-M32. Le micro
contrôleur ne fonctionnera correctement que si vous appelez cette fonction en premier !
Le bootloader peut en initialiser une partie, mais tout ne sera pas effectué.
Exemple :
Chaque programme du RP6 CONTROL M32 doit au minimum ressembler à ça ! Le
« endless loop » (« boucle infinie ») ligne 9 est nécessaire pour garantir une fin définie
du programme ! Sans cette boucle, le programme pourrait fonctionner différemment de
ce qui est attendu ! Tout comme le contrôleur sur la carte mère !