captura de datos desde puerto serie

2

Click here to load reader

Upload: jeremiah-martinez

Post on 18-Sep-2015

4 views

Category:

Documents


0 download

DESCRIPTION

En aplicaciones de telemetría o de monitoreo recibir información del exterior es una actividadindispensable. Es por ello que presentamos aquí el código necesario para leer un puerto serie(COM1 o COM2) permitiendo capturar información. Con simples cambios se pueden lograrmaravillas en este sistema.

TRANSCRIPT

  • 30/5/2015 Captura de datos desde puerto serie

    http://www.pablin.com.ar/computer/programa/c/rec232.htm 1/2

    Captura de datos desde puerto serie

    En aplicaciones de telemetra o de monitoreo recibir informacin del exterior es una actividadindispensable. Es por ello que presentamos aqu el cdigo necesario para leer un puerto serie(COM1 o COM2) permitiendo capturar informacin. Con simples cambios se pueden lograrmaravillas en este sistema.

    #include #include #include #include #include

    int puerto,k,j,dato,config;char lectura[1],dato1[2];

    char leer() { do{ dato=bioscom(2,0x83,puerto); } while (!kbhit()); return(dato); }

    void main(void) { clrscr(); printf("Ingrese puerto COM a usar: "); scanf("%d", &puerto); while(puerto4) { clrscr(); printf("ERROR... Debe ingresar 1, 2, 3 o 4 !!!\n\n"); printf("Ingrese puerto COM a usar: "); scanf("%d", &puerto); }

    puerto--; config=0x83; bioscom(0,config,puerto);

    clrscr(); gotoxy(14,4); printf("RECEPCION DE DATOS VIA SERIE"); gotoxy(8,6); printf("Config --> COM %d \\ 1200 bps \\ 8N1", puerto+1); gotoxy(29,8); printf("Escape --> Salir"); gotoxy(23,10); printf("MONITOR DE RECEPCION: ");

  • 30/5/2015 Captura de datos desde puerto serie

    http://www.pablin.com.ar/computer/programa/c/rec232.htm 2/2

    do{ if(!kbhit()) dato1[0]=leer(); if(!kbhit()) { gotoxy(40,12); printf("%1s ",dato1); }

    }while(!kbhit());

    }

    DESCRIPCION:La funcin Leer() retorna un caracter con el dato obtenido del puerto serie. El proceso derecepcin puede ser interrumpido presionando cualquier tecla.

    En el cuerpo principal del programa las primeras lineas se encargan de obtener el puerto seriea emplear, con una pequea rutina de validacin.

    La sentencia puerto-- resta una unidad al puerto seleccionado ya que el sistema los identificade 0 a 7 y el usuario los conoce de 1 a 8. La variable config se carga con los parmetros develocidad, bits de datos y paridad de la comunicacin. Por ltimo la funcin bioscom seencarga de configurar el puerto serie.

    La siguientes sentencias dibujan una precaria interface en pantalla.

    El ciclo do while se encarga de leer repetitivamente el puerto de comunicaciones y escribir elresultado en pantalla en tanto no se presione tecla alguna. Es por ello que est plagado desentencias !kbhit().