Utilizzo porta seriale e accesso alle porte di I/O

Sommario


Delphi non prevede istruzioni specifiche per queste funzioni. Nella unit Flib sono contenute due routine per l'accesso alle porte INP e OUT e le funzioni necessarie per un uso ultra semplificato della porta seriale. Inoltre le istruzioni StartTime e Elapsed permettono di calcolare in modo preciso il tempo trascorso.
 
 
Inp(addr) (Flib) Legge un byte dalla porta ADDR
Out(addr,b) (Flib) Scrive un byte su una porta
StartTime (Flib) Memorizza il tempo attuale
Elapsed (Flib) Ritorna il tempo trascorso da StartTime (in mS)

 

Esempi di lettura e scrittura da/su porta:
 
  var
    b:byte;
  begin
    b:=inp(889);
  end;
  var
    b:byte;
  begin
    b:=255
    out(888,b);
  end;

 

Utilizzo della porta seriale usando TPortaSeriale (Flib)

  var
    s:string;
    Ser:TPortaSeriale;
  begin
    Ser.open(com1,9600,n,8,2);
    Ser.tx('stringa');
    s:=Ser.rx;
    if s<>'' then ....
    Ser.close;
  end;
 

Le porte apribili sono COM1 e COM2. Le velocità usabili sono 110,300,600,1200,2400,4800,9600. Le parità usabili sono n,o,e,m,s. I bit usabili sono 7 e 8. Gli stop bit usabili sono 1 e 2.

La funzione .RX ritorna un singolo carattere o stringa nulla se il buffer di ricezione è vuoto. La dimensione dei buffer di ricezione e trasmissione è fissata a 8192 bytes ma può essere cambiata modificando la chiamata a SetupComm nella flib.