Studiando il linguaggio C, non mi sono chiare le istruzioni di I/O. Ci sono istruzioni che permettono di accedere ad una porta seriale del computer? Devo riuscire a trasmettere e ricevere caratteri da una porta seriale.

Tutti i liguaggi di programmazione rimandano la soluzione di una parte dei
“problemi” di programmazione ad elementi che rimangono al di fuori del
linguaggio.

In particolare il linguaggio C non ha alcuna istruzione specifica per le
operazioni di I/O che
vengono demandate ad una libreria di sottoprogrammi che fa
parte del “sistema di programmazione” ma non del linguaggio C. Comunque
tutte le implementazioni del linguaggio C sono corredate da identici gruppi di
sottoprogrammi detti infatti “libreria standard” e
normalmente
i sottoprogrammi della libreria standard sono considerati parte integrante del
linguaggio e vengono trattati nei corsi di programmazione insieme alle altre
parti del linguaggio.

Alcuni tipi di periferiche, fra cui le linee seriali,
sono però gestiti in modo assai differente su sistemi operativi diversi, tanto
che i sottoprogrammi di libreria definiti per effettuare tali operazioni
devono
essere necessariamente diversi. Per questo motivo tali sottoprogrammi
non sono inclusi nella libreria standard
e non sono considerati parte integrante del
linguaggio di programmazione.

Di conseguenza per trovare i sottoprogrammi necessari per la gestione delle
linee seriali occorre cercare fra le librerie specifiche del particolare
Sistema Operativo o della particolare implementazione del linguaggio di
programmazione.

Ad esempio per programmi in ambiente Unix/Linux si può utilizzare la
funzione
ioctl per determinare le caratteristiche di funzionamento della linea
seriale e le funzioni di I/O di basso livello (read e write)
per inviare e ricevere caratteri.

In ambiente
Windows esistono vari sistemi di programmazione con soluzioni
diverse per l’ I/O su porta seriale ed occorre fare riferimento alla
documentazione specifica per trovare i sottoprogrammi da utilizzare.