salut;
déjà tu ne peux pas lire une donnée de 11 bits directement sur la liaison série puisque le format maxi autorisé sont des mots de 8 bits. je doute d'ailleurs que ton appareil envoi cette donnée en un seul mot
maintenant il faut savoir s'il envoie cette donneé octet fort+octet faible ou l'inverse octet faible+octet fort
cela étant dit il faut que tu cofigure ton port au format de celui de l'appareil( NB bits de donnée, baudrate; Nb de stop; parité);
pour lire le port tu peux soit utiliser la dll RSCom et la fonction readbyte soit ce qui est à mon sens préférable un composant comme
TCOMPORT plus fiable et plus facile à paramètrer
il te suffit de poser un composant sur ta fiche et dans l'inspecteur d'objet de lui mettre le bonnes valeurs.
ensuite si tu reçois octet faible octet fort
procedure TForm1.Button1Click(Sender: TObject);
var buf:string
valeursmall:^smallint;
begin
with comport1 do
begin
Open;// on ouvre la connection
clearbuffer(true,true);//on fait le ménage!!
buf:='';// par précaution en principe pas nécessaire
while InputCount<2 do Application.ProcessMessages;//on attend la réponse sans bloquer l'appli
ReadStr(buf, InputCount);//on lit les données
//si octet fort octet faible buf1:=buf[2]+buf[1];buf:=buf1;//on inverse
valeursmall:= @buf[1];//on transtype
label1.caption:=inntostr(valeursmall^);//on affiche le résultat
close;
end;
end;
voili voilou c'est pas plus compliqué
@+
jlen