Informatica
Facultad de Informática Mazatlán
Alumno:
Jesús David Bush Barbosa
Maestro:
Edson Francisco Osuna Peraza
Grado y Grupo:
4-1
Trabajo:
Investigacion
Mazatlán Sinaloa 18 de Enero de 2012
C
Puertos Seriales en Lenguaje C
En lenguaje C, existe una instrucción especial para manejar las comunicacionesseriales. 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 el siguiente significado:
|cmd |Especifica la operación a realizar |
|abyte |esun caracter que se enviará por el puerto serial |
|port |es la identificación del puerto serial (desde 0 para COM1 hasta 3 |
| |para 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íael caracter abyte por el puerto port
2 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 la siguiente Tabla.
|0x02 |7 bits de datos |
|0x03 |8 bits de datos|
|0x00 |1 bits de parada |
|0x04 |2 bits de parada |
|0x00 |Sin paridad |
|0x08 |Paridad impar |
|0x18 |Paridadpar |
|0x00 | 110 baudios |
|0x20 | 150 baudios |
|0x40 | 300 baudios |
|0x60 | 600 baudios ||0x80 |1200 baudios |
|0xA0 |2400 baudios |
|0xC0 |4800 baudios |
|0xE0 |9600 baudios |
|0x00 | 110 baudios |
|0x20 | 150 baudios |
|0x40 | 300 baudios |
|0x60 | 600 baudios |
|0x80 |1200 baudios |
|0xA0 |2400 baudios |
|0xC0 |4800 baudios |
|0xE0 |9600 baudios |
Para configurar 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 la palabra 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 delpuerto, se deben 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 corresponden al dato y los 8 más significativos al estado del puerto; si alguno de estos últimos está en "1 ", un error ocurrió; si todos están en "0", el dato fue recibido sin error.
Cuando el...
Regístrate para leer el documento completo.