Arexx RP6 ROBOT SYSTEM RP6 CONTROL M32 Manuel D'utilisation page 23

Table des Matières

Publicité

RP6 ROBOT SYSTEM - 4. Exemples de Programme
Exemple 6: Interface Bus I²C – Mode Maître
Répertoire: <RP6Examples>\RP6ControlExamples\Example_06_I2CMaster\
Fichier: RP6Control_06_I2CMaster.c
Ce programme démontre comment on peut utiliser le mode maître du bus I²C. Le
contrôleur sur la carte-mère du robot doit avoir chargé le programme Esclave
I²C!
Ce programme montre comment on peut commander le contrôleur sur la carte-mère
en mode Esclave. Cela ne peut fonctionner que si le programme I²C Slave des
exemples de la RP6Base a été chargé dans le contrôleur sur la carte-mère.
L'accès au bus I²C fonctionne presque de la même façon que pour le contrôleur sur la
carte-mère – et il s'agit des mêmes fonctions.
Ce programme permet d'envoyer différentes commandes du bus I²C au contrôleur
programmé avec le programme Esclave sur la carte-mère en appuyant sur l'une des 5
touches. Touche T1 augmente un compteur de 1 et envoie la commande setLEDs à
l'esclave qui possède cette valeur de compteur. Ainsi les 6 LED d'état sur la carte-
mère représentent un compteur binaire.
Appuyez sur la touche T2 pour lire tous les registres et les sortir par l'interface série.
T3 par contre ne lit et affiche sur le LCD que les valeurs des détecteurs de lumière.
T4 et T5 envoient la commande « rotate » et le robot tourne un peu à droite ou à
gauche (vous pouvez également appuyer plusieurs fois sur la touche et il tourne da-
vantage...).
Comme tous les autres, ce programme est librement modifiable et convient parfaite-
ment au test de nouveaux équipements I²C ou fonctions à ajouter au programme Es-
clave.
Exemple 7: Interface de Bus I²C – Mode Maître – Réagir aux interruptions
Répertoire: <RP6Examples>\RP6ControlExamples\Example_07_I2CMaster\
Fichier: RP6Control_07_I2CMaster.c
Ce programme démontre comment on peut utiliser le mode Maître du bus I²C. Le
contrôleur sur la carte-mère du robot doit avoir chargé le programme Esclave
I²C!
Vous avez peut-être déjà remarqué les signaux d'interruption sur les connecteurs
XBUS du RP6? Vous pouvez les utiliser afin de réagir aux changements des détecteurs
sans interroger constamment les esclaves. Après tout, chaque accès au bus prend du
temps.
Le CAN sur le robot en est un bon exemple. L'état du détecteur ne change que relati-
vement peu souvent et ce ne serait pas très efficace d'envoyer constamment une re -
quête via le bus s'il y a eu un changement. Dès que l'état du CAN change, le pro -
gramme Esclave met le signal INT sur le niveau High. Puisque INT1 a été appliqué à
l'entrée d'interruption 0 du MEGA32 sur le RP6 CONTROL M32, le contrôleur peut ré-
agir directement à cet événement et interroger l'état du contrôleur sur la carte-mère.
Toutefois, nous n'utilisons PAS de routines d'interruption dans les exemples de pro-
gramme pour réagir à un événement mais interrogeons l'état de la broche à chaque
passage de la boucle principale. Puisque les transferts de bus I²C sont également
commandés par des interruptions, aucun nouveau transfert ne pourrait avoir lieu au
sein de la routine d'interruption. Il est nécessaire d'appeler impérativement la fonction
- 23 -

Publicité

Table des Matières
loading

Produits Connexes pour Arexx RP6 ROBOT SYSTEM RP6 CONTROL M32

Table des Matières