Bonjour,
J’ai longtemps eu à l’abandon un projet de pilotage d’afficheur LCD parce que je me suis eurté à l’initialisation de mon type de donnée avec une valeur qui sensiblement est la bonne mais l’expression litérale n’est pas accepter.
J’ai donc récemment, par besoin peut-être, rpris le projet et ai découvert l’expression permettant de décrire le type correctement.
Ici, le code donné est celui que j’ai trouvé à la lecture de Grady Booch dans Ingenierie du Logiciel avec Ada.
Déclaration du type de donnée :
type Io_Port is
record
Data : Integer range 0..255;
Busy : Boolean;
Interrupt_Validity : Boolean;
end record;
Mot : constant := 1*8;
for Io_Port use
record at mod 2;
Data at 0*Mot range 0..7;
Busy at 1*Mot range 3..3;
Interrupt_Validity at 1*Mot range 7..7;
end record;
Déclaration des variables :
LPT1_Data : Io_Port;
LPT1_Ctrl : Io_Port;
for LPT1_Data use at 16#378#;
for LPT1_Ctrl use at 16#37A#;
Alors dans cette déclaration le code convenant sur mon système GNU/Linux est :
LPT1_Data : Io_Port;
LPT1_Ctrl : Io_Port;
for LPT1_Data use at System'To_address(16#378#);
for LPT1_Ctrl use at System'To_address(16#37A#);
Ce code nécessite la déclaration de la clause with System;
J’en suis resté là avec ce code qui devrait à présent me permettre d’écrire sur le port lpt1 de mon Comptatible IBM PC mais ne sachant pas du tout comment m’y prendre, je viens ici pour demander de l’aide.
S’il vous plait, merci.
Merci pour votre lecture.