|
 |
Programmazione |
FUNZIONI DOS 1/8
[155 di 403]
|
 | Il DOS associa in nome
COM ad ognuno dei 4 indirizzi diversi da
0000H trovato
a partire dalla locazione
0000:0400H, ivi inseriti dall'esecuzione della
procedura POST,
subito dopo l'accensione del computer; nei moderni computer è molto probabile
trovare la sequenza: 03F8H,
02F8H, 0000H,
0000H, ad indicare la
presenza di 2 sole porte
seriali, la COM1 e la
COM2. |
 | Il DOS è comunque in grado di supportare
anche le porte
COM3 e COM4,
qualora ne venga rilevata la presenza. |
 | Per usare una porta
seriale è possibile usare il comando DOS
MODE, tipico e funzionante
esclusivamente nell'ambiente
DOS: nel momento in cui altri sistemi
operativi (o altri programmi di comunicazione) prendono il
controllo diretto della
porta seriale ogni valore predisposto con
MODE viene sovrascritto e perduto. |
 | La sintassi del
comando DOS
MODE
indica la porta a cui ci si vuole riferire, la velocità (Baud
rate in baud), il
Numero di bit di dato
(lunghezza della parola), il Numero di bit di stop
e il Tipo di parità, in accordo con i
parametri previsti dallo
standard RS232 per il
frame seriale. |
 | Per esempio il comando
MODE
COM1:
9600,N,8,1,P programma la porta
seriale COM1
per lavorare a
9600
baud,
Nessuna parità,
8
bit di dato e 1
bit di stop; l'ultimo parametro (P)
ripete automaticamente la connessione in caso di timeout. |
 | Questo comando può essere digitato
direttamente dal prompt
del
DOS
oppure può essere inserito tra le righe del file di sistema
Autoexec.bat
(anch'esso non operativo in ambiente Windows). |
 | La programmazione
a Livello DOS
delle Porte seriali è possibile ma
poco raccomandabile e
poco affidabile; le
Funzioni disponibili sono una virtualizzazione
della vera porta seriale e quindi
del tutto impreparate a gestire le complesse procedure di ricetrasmissione di
un UART:
 | per la trasmissione
si dovrebbe far riferimento come minimo alla
Funzione 01H
dell'INT 14H
o meglio all'accesso diretto al
Registro
di Trasmissione
[port_8]
(Transmitter Holding Register,
THR) (o il
buffer FIFO in Trasmissione, con
UART 16550A) |
 | per la ricezione
si dovrebbe far riferimento come minimo alla
Funzione 02H
dell'INT 14H
o meglio all'accesso diretto al
Registro
di Ricezione
[port_8]
(Receive Buffer Register,
RBR) (o nel buffer FIFO
in Ricezione, con UART
16550A) |
|
 | Ecco comunque la raccolta delle possibili
Funzioni dell'INT 21H: |
|
[^] |
INT 21H |
Funzione 03H |
Legge
un carattere al dispositivo standard ausiliario,
COM1 |
|
[^] |
INT 21H |
Funzione 04H |
Scrive
un carattere verso il dispositivo standard ausiliario,
COM1 |
|
[^] |
INT 21H |
Funzione 3FH |
Legge da un dispositivo generico (device), con
la tecnica dei gestori (handle) standard |
|
[^] |
INT 21H |
Funzione 40H |
Scrive
verso un dispositivo generico (device),
con la tecnica dei gestori (handle) standard |
|
[^] |
INT 21H |
Funzione 44H/02H |
Legge
una stringa di bytes da un dispositivo di tipo "carattere", prelevandoli da
un buffer |
|
[^] |
INT 21H |
Funzione 44H/03H |
Scrive una stringa di bytes in
un dispositivo di tipo "carattere", inserendoli in un buffer |
|
[^] |
INT 21H |
Funzione 75H |
Accede ad una porta seriale (non documentato) |
 | Clicca sul simbolo
[^]
per saperne di più: ciascuna Funzione DOS
sarà trattata in dettaglio, nelle pagine seguenti. |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|