Bonjour, Je suis sur Gnu/Linux sur un compatible IBM PC, et je souhaite écrire du texte via une procédure qui écrit des unsigned_8 sur le port parallèle. Je cherche la technique ad'hoc. Dans un premier temps, je voudrais tester une conversion Integer to Unisgned_8 mais je ne sais pas comment faire.
Je sais que si j'envoie du texte brut avec un echo "Hello World"> /dev/lp0 ça écrit directement le texte.
J'ai testé ça :
Code :
package Pp is
LP1 : constant := 16#03BC#;
LP2 : constant := 16#0378#;
LP3 : constant := 16#0278#;
type Message_Type is(Data, Status, Ctrl);
end Pp;
Code :
with Interfaces;
generic
LP : Interfaces.Unsigned_16;
package Pp.Pp_Iois
use Interfaces;
procedure Put(Msg : in Message_Type; Value : in Unsigned_8);
procedure Get(Msg : in Message_Type; Value : out Unsigned_8);
end Pp.Pp_Io;
Code :
with Interfaces.C;
use interfaces;
with Pp.Ioperm, Pp.Pp_Io;
use Pp;
procedure Main is
package Lp_Io isnew Pp.Pp_Io(Pp.LP2);
Errno : C.Int := 0;
Hello : String := "bonjour monde !";
Data : Unsigned_8;
begin
Errno := Pp.Ioperm.Ioperm(PP.LP2, 3, 1);
for I in32..127loop
Data := Unsigned_8(I);
Lp_Io.Put(Pp.Data, Data);
endloop;
Errno := Pp.Ioperm.Ioperm(PP.LP2, 3, 0);
end Main;
Merci pour votre contribution.
Message édité par Profil supprimé le 29-01-2013 à 16:57:07
Marsh Posté le 11-01-2013 à 19:36:37
Bonjour,
Je suis sur Gnu/Linux sur un compatible IBM PC, et je souhaite écrire du texte via une procédure qui écrit des unsigned_8 sur le port parallèle.
Je cherche la technique ad'hoc.
Dans un premier temps, je voudrais tester une conversion Integer to Unisgned_8 mais je ne sais pas comment faire.
Je sais que si j'envoie du texte brut avec un echo "Hello World"> /dev/lp0 ça écrit directement le texte.
J'ai testé ça :
Merci pour votre contribution.
Message édité par Profil supprimé le 29-01-2013 à 16:57:07