Le but de ce composant est de gérer de manière autonome le PIT 8254.
Voici les différentes propriétés et méthodes implémentées dans le composant PIT8254
Name | La propriété Name identifie de manière unique un composant ou un objet. |
---|---|
Tag | La propriété Tag est disponible pour stocker une valeur entière comme partie d'un composant. La propriété Tag n'a aucune signification particulière dans Delphi, mais il est possible de l'utiliser pour stocker une valeur répondant à un besoin particulier.. |
Enabled | Active ou non le composant. Si cette propriété est à TRUE, il est possible d'initialiser les différents compteurs, sinon le composant est désactivé.. |
Version | Cette propriété, en lecture seule, renvoie la version de la VCL.. |
Adresse | Il s'agit de l'adresse de base du 8254. Les autres adresses sont calculées à partir de cette adresse. Par défaut, l'adresse de base est 308h (776 en décimal).. |
ModeCompteur0 | Ces trois propriétés permettent de choisir le mode de fonctionnement des trois compteurs du PIT. Les différents modes de configuration sont mcIndefini (compteur non configuré) ou mcGenreateur (générateur de fréquences). D'autres modes de programmation seront ajoutés plus tard. |
ModeCompteur1 | |
ModeCompteur2 | |
Compteur0 | Ces propriétés permettent de lire la valeur présente sur le port, ou d'y écrire une valeur. |
Compteur1 | |
Compteur2 | |
Quartz | Cette propriété permet d'indiquer quelle est la fréquence du quartz relié au PIT8254. |
Le listing complet de ce composant (VCL8254.PAS) se trouve dans l'annexe 3. Il n'y a ci-dessous qu'une description des principales fonctions qui s'y trouvent.
Tout comme dans le composant PIT8255, on trouve dans cette partie la déclaration de notre composant PIT8254 ainsi que la procédure Register qui permet d'intégrer notre objet PIT8254 dans l'environnement de développement Delphi.
Dans la déclaration de la classe TPIT8254, il y a tout d'abord toutes les déclarations des variables utilisées dans ce composant (les différentes adresses du 8254, l'état de ses compteurs, etc…) ainsi que les méthodes utilisées pour modifier les valeurs de ces composants (SetCompteur0, SetCanWrite, etc…).
Dans la partie PUBLIC, il y a le CONSTRUCTEUR et le DESTRUCTEUR. Ils ne sont là que pour l'initialisation du composant, et pour fixer les valeurs par défaut des différentes variables.
Et pour terminer, dans la partie PUBLISHED, tout ce qui est “visible” par l'utilisateur final, à savoir les propriétés qui indiquent quelles sont les méthodes à utiliser pour lire ou écrire dans une des variables du composant ainsi que les méthodes de ce composant.
Dans cette partie se trouvent toutes les procédures et fonctions déclarées précédemment. Voici une brève description des plus importantes procédures et fonctions…
Il s'agit de l'initialisation du composant, soit tout d'abord l'appel du constructeur générique hérité TComponent dont notre classe est descendante.
Dans le destructor, il n'y a que l'appel du destructor hérité: INHERITED Destroy.
Ces deux procédures d'accès aux ports ont été décrites au chapitre “Accès aux ports”.
Les procédures SetCnt0..SetCnt3 permettent de changer la valeur de départ des compteurs.
Si le mode de fonctionnement du compteur a déjà été défini, une réinitialisation dudit compteur est effectuée avant d'inscrire la nouvelle valeur.
Les procédures SetModeCnt0..SetModeCnt2 permettent de choisir le mode de fonctionnement des compteurs. Après configuration du compteur, la valeur sélectionnée par SetCntX est chargée dans le compteur.