Initialisation Du Microcontrôleur; Led D'etat - Arexx RP6 ROBOT SYSTEM RP6 CONTROL M32 Manuel D'utilisation

Table des Matières

Publicité

RP6 ROBOT SYSTEM - 3. RP6 CONTROL Library
3.1.1. Initialisation du Microcontrôleur
void initRP6Control(void)
Comme vous le savez déjà par la RP6Lib, cette fonction doit TOUJOURS être appelée
en premier dans la fonction Main. Elle porte seulement un autre nom..
La fonction initialise les modules de matériel du microcontrôleur sur le RP6-M32. Le
microcontrôleur ne fonctionnera correctement que si vous appelez cette fonction en
premier! Une partie est certes déjà initialisée par le chargeur d'amorçage mais pas
tout.
Exemple:
1
#include "RP6ControlLib.h"
2
3
int
main(void)
4
{
5
initRP6Control();
6
7
// [...] Code programme...
8
9
while(true);
10
return
11
}
Chaque programme pour le RP6 CONTROL M32 doit se présenter au minimum
ainsi! La boucle sans fin en ligne 9 est nécessaire afin de garantir une fin dé-
finie du programme! Sans cette boucle, le programme risque de se comporter au-
trement que prévu. Exactement comme pour le contrôleur sur la carte-mère!

3.1.2. LED d'Etat

La commande des LED est similaire à celle sur la carte-mère mais il n'y a que 4 LED et
les désignations sont un peu différentes puisque les LED sont connectées à un registre
à décalage externe qui commande en même temps le LCD. Le registre à décalage de
8 octets est appelé « External Port »
La fonction „setLEDs" existe aussi pour le RP6-M32:
void setLEDs(uint8_t leds)
Exemple:
setLEDs(0b0000); // Cette commande éteint toutes les LED.
setLEDs(0b0001); // Celle-ci allume la LED1 et éteint toutes les autres.
setLEDs(0b0010); // LED2
setLEDs(0b0100); // LED3
setLEDs(0b1010);
Voici une alternative:
externalPort.LED1 = true;
externalPort.LED2 = false;
outputExt();
// La fonction outputExt() envoie le contenu de la variable externalPort
// au registre à décalage – comme le updateLEDs() de la RP6Lib.
// Cependant, des modifications des lignes de données LCD sont aussi envoyées.
// Initialisation – APPELER TOUJOURS EN PREMIER!
// Boucle sans fin
0;
// LED4 et LED2
// Activer la LED1 dans le registre „External Port"
// Désactiver LED2 dans le registre „External Port"
// Appliquer les modifications!
- 12 -

Publicité

Table des Matières
loading

Produits Connexes pour Arexx RP6 ROBOT SYSTEM RP6 CONTROL M32

Table des Matières