• Aucun résultat trouvé

TP : Développement d'une classe PorPia (pdf 23 Ko)

N/A
N/A
Protected

Academic year: 2022

Partager "TP : Développement d'une classe PorPia (pdf 23 Ko)"

Copied!
2
0
0

Texte intégral

(1)

Architecture TP classe PIA PC C++ 05/12/01

David Saint-Mellion Page 1/2

Classe E-S TOR

L’objectif est de développer une classe pour exploiter les fonctionnalités d’un Port

Entrée/Sortie TOR d’un composant du type 6821 implanté dans un environnement x86 et dans le domaine mémoire de I-O. La classe est implémentée avec le langage C++.

Modèle de la classe

PortPiaPc - adresseDeBase : short

- adresseORx : short - adresseDDRx : short - adresseCRx : short

+ PortPiaPc (adresse :short, direction : unsigned char) : void + ecrire(adresse : short, valeur : unsigned char) : void + ecrireORx(valeur : unsigned char) : void

+ lire(adresse : short) : unsigned char + lireORx() : unsigned char

+ isolerBitsORx(masque : unsigned char) : unsigned char

+ isolerBits(adresse : short, masque : unsigned char) : unsigned char + affecterABit(adresse :short, valeur:boolean, masque :unsigned char) :void + affecterABitORx(valeur : boolean, masque : unsigned char) : void

Eléments descriptifs des méthodes

constructeur ( valeur de l’adresse de Base du Port, valeur d’initialisation de la direction des bornes du Port)

- Initialise tous les attributs

- Place la valeur 00h dans le registre de données - Initialise la valeur du registre de Direction

- Positionne CRA pour accéder au registre de données ecrire( adresse du Registre, Valeur)

lire ( adresse du Registre)

– retourne la valeur du registre

isolerBits ( adresse du Registre, Valeur du masque pour isoler la valeur des bits ) - la méthode retourne la valeur correspondant à la valeur isolée

- les bits masqués prennent pour valeur " 0 "

affecterABit (adresse du Registre, Valeur du bit (0/1), Valeur du masque du bit ) - le bit qui doit être affecté est signalé par la valeur 1 dans "Valeur du

masque du bit"

(2)

Architecture TP classe PIA PC C++ 05/12/01

David Saint-Mellion Page 2/2

Les méthodes suivantes affectent le registre de données Orx :

§ écrireORx(Valeur),

§ lireORx (),

§ isolerBitsORx (Valeur du masque pour isoler la valeur des bits ),

§ affecterABitORx (Valeur du bit (0/1), Valeur du masque du bit ).

Les attributs sont privés et les méthodes sont publiques

Développement :

1. Créez l’enveloppe de la classe avec tous les attributs et seulement le constructeur.

§ Développez le corps du constructeur.

§ Mettez en œuvre la classe.

§ Tester et valider le constructeur en utilisant le Port PIA2 de la cible.

2. Enrichir la classe avec les méthodes ci-dessous. Vous procéderez en 3 étapes A à C, en suivant la procédure suivante pour chaque étape :

§ Enrichir la classe avec la méthode.

§ Développer le corps de la méthode.

§ Tester et valider la classe en utilisant le Port PIA2 de la cible.

Etapes :

A - ecrireORx(valeur : unsigned char) : void et lireORx() : unsigned char B - isolerBitsORx(masque : unsigned char) : unsigned char

C - affecterABitORx(valeur : boolean, masque : unsigned char) : void

3. Mettez en œuvre la classe dans un programme pour réaliser les fonctions suivantes : Out=Y et S3 = pas X1

4. Enrichir la classes avec les méthodes nécessaires pour accéder à l’attribut CRx, afin de connaître la configuration et pouvoir modifier cette valeur.

§ Enrichir la classe avec les méthodes.

§ Développer le corps des méthodes.

§ Tester et valider les classes en utilisant le Port PIA2 de la cible.

5. La carte PIA est comprend 2 composants PIA qui permet d’exploiter 4 Ports.

§ Proposez le modèle d’une classe CartePiaPC qui met en œuvre la classe PortPiaPc.

§ Développez et testez cette nouvelle classe.

Références

Documents relatifs

Le retour par valeur ne doit être utilisé que pour des types courts : int, float..

Indiquer l’adresse I2C du PCF8574A lors les entrées A0 ,A1, A2 sont reliées à VSS (0v) Réaliser l’algorigramme d’une fonction. void ecrit_I2C(unsigned char add,unsigned char

Domaine de collision est une zone logique d'un réseau informatique où les paquets de données peuvent entrer en collision entre eux, en particulier avec le protocole de

void maple_getcond_callback (struct maple_device * dev , void (* callback) (struct mapleq *mq), unsigned long interval, unsigned long

– void md5 hmac starts( md5 context *ctx, const unsigned char *key, int keylen ) ; – void md5 hmac update( md5 context *ctx, const unsigned char *input, int ilen ) ; – void md5

Et bientôt, selon une évolution parallèle à celle de Nietz- sche, l'indépendance à l'égard de la vengeance contre les hom- mes va devenir aussi indépendance à l'égard du

I l y a quelques années, alors que j’allais pour l’entretien  de  mon  auto,  le  garagiste  m’a  proposé  de  vérifier  la  transmission.  Comme  mon 

If Auto-Read or Auto- Write is selected, bit toggling runs automatically as long as a transponder is within RF field.When switching to another mode ("CMD") the command must