Puerto serial y languaje c
En lenguaje C, existe una instrucción especial para manejar las comunicaciones seriales. Esta instrucción posee la siguiente sintaxis:
int bioscom(int cmd, char abyte, int port);
En realidad, esta instrucción acude a la interrupción 14H para permitir la comunicación serial sobre un puerto. Para este caso, cada uno de los parámetros tiene elsiguiente significado:
cmd Especifica la operación a realizar
abyte es un caracter que se enviará por el puerto serial
port es la identificación del puerto serial (desde 0 para COM1 hasta 3para COM4)
El parámetro cmd puede tener los siguientes valores y significados:
0 Inicializa el puerto port con los valores dados por abyte
1 Envía el caracter abyte por el puerto port2 Lee el caracter recibido por el puerto port
3 Retorna el estado del puerto port
Para la inicialización del puerto, el caracter abyte tiene las interpretaciones que se muestran en lasiguiente Tabla.
0x02
0x03 7 bits de datos
8 bits de datos
0x00
0x04 1 bits de parada
2 bits de parada
0x00
0x08
0x18 Sin paridad
Paridad impar
Paridad par
0x000x20
0x40
0x60
0x80
0xA0
0xC0
0xE0 110 baudios
150 baudios
300 baudios
600 baudios
1200 baudios
2400 baudios
4800 baudios
9600 baudios
Paraconfigurar el puerto con algunos parámetros, bastará con realizar una operación OR con los deseados, por ejemplo, para 1200 baudios, sin bit de paridad, sin bit de parada y 8 bits, bastará con seleccïonar lapalabra dada por:
abyte = 0x80 | 0x00 | 0x00 | 0x03
o lo que es equivalente,
abyte = 0x83
Para la lectura de un caracter que se haya recibido o del estado del puerto, sedeben utilizar variables en las cuales se almacenarán los valores de retorno; en ambos caso se obtienen valores de 16 bits. Para la lectura de un dato recibido, los 8 bits menos significativos...
Regístrate para leer el documento completo.