Loading documents preview...
CONTROL DE LOS PUERTOS EN LENGUAJE C
INTEGRANTES DEL EQUIPO • HEBER EMMANUEL MUÑOZ PIXTA • EDUARDO RENE DE JESUS SOLIS ALFONSO • KEVIN HERNÁNDEZ PUCHETA
• RAMIRO DE JESUS CHONTAL AZAMAR • DAVID DE JESUS PAXTIAN MIXTEGA
COMUNICACIONES SERIALES EN LENGUAJE 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 el siguiente 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 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ía el 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.
• 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 seleccionar 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 del puerto, 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 comando es 2 ó 3 (leer el caracter o el estado del puerto), el argumento abyte no se tiene en cuenta. Para configurar el puerto COM1 con los parámetros del ejemplo dado anteriormente, bastará con la instrucción:
• bioscom (0,0x83,0); /*(inicializar, parámetros, COM1)*/
• La utilización de los comandos y las instrucciones para la configuración de los puertos aquí expuestos sólo tendrán sentido en la medida en que utilicemos el puerto serial para establecer una comunicación bien con otros computadores o bien con dispositivos electrónicos como microcontroladores.