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  dé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  dé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-mê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  n’est  qu’une 
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 !










