none
MS-DOS y puerto serie RRS feed

  • Pregunta

  • Hola:

    Quiero enviar datos al puerto serie con el CMD de Windows, o el sustituto del cmd que es PowerShell, hacen lo mismo. Consiste en configurar dicho puerto que se hace así:

    MODE COM1:9600,n,8,1

    Y en la consola aparece esto:

    Quiero crear un archivo .bat en el que solo tengo que pulsar la tecla 1 y envía esto: Luz_ON.

    Si pulso la tecla 2, envía por el puerto serie Luz_OFF.

    ¿Existe la posibilidad de hacerlo?

    Si es así. ¿Cómo se hace?

    Saludos.


    http://electronica-pic.blogspot.com

    domingo, 6 de agosto de 2017 7:01

Respuestas

  • Una vez que has hecho el MODE COM1:... y lo has configurado correctamente (y el puerto está correctamente cableado incluyendo las líneas de protocolo), para enviar algo al puerto serie puedes hacerlo con un comando COPY:

    COPY fichero.txt COM1:

    Obviamente, dentro de fichero.txt puedes meter "Luz_ON" y en otro fichero similar "Luz_OFF".

    También podrías usar ECHO:

    ECHO Luz_ON >COM1:

    • Marcado como respuesta Metaconta miércoles, 9 de agosto de 2017 19:25
    domingo, 6 de agosto de 2017 8:18

Todas las respuestas

  • Una vez que has hecho el MODE COM1:... y lo has configurado correctamente (y el puerto está correctamente cableado incluyendo las líneas de protocolo), para enviar algo al puerto serie puedes hacerlo con un comando COPY:

    COPY fichero.txt COM1:

    Obviamente, dentro de fichero.txt puedes meter "Luz_ON" y en otro fichero similar "Luz_OFF".

    También podrías usar ECHO:

    ECHO Luz_ON >COM1:

    • Marcado como respuesta Metaconta miércoles, 9 de agosto de 2017 19:25
    domingo, 6 de agosto de 2017 8:18
  • Hola:

    Me funciona este:

    copy puerto_Luz_ON.txt COM4:

    El otro no me hace caso. ¿Falla algo?

    A parte de todo esto, quiero hacer un archivo bat, que al ejecutar pregunta este menú:

    Si pulsas 1 envías Luz_ON.

    Si pulsas 2 envías Luz_OFF.

    Saludos.


    También he hecho un scrio.cmd con este código en su interior y no funciona.

        @Echo OFF & (CHCP 1252)1>Nul
         
        MODE.com COM4 BAUD=115200 PARITY=n DATA=8 STOP=1
         
        CHOICE.exe /C "12" /M "Escoge una opción..."
        If %ErrorLevel% EQU 1 (
            Echo:Luz_ON>COM4
        )
        If %ErrorLevel% EQU 2 (
            Echo:Luz_OFF>COM4
        )
         
        Pause&Exit


    Lo he hecho funcionar así:

        @Echo OFF & (CHCP 1252)1>Nul
         
        MODE.com COM4 BAUD=115200 PARITY=n DATA=8 STOP=1
         
        CHOICE.exe /C "12" /M "Escoge una opción..."
        If %ErrorLevel% EQU 1 (
            copy puerto_Luz_ON.txt COM4:
        )
        If %ErrorLevel% EQU 2 (
            copy puerto_Luz_OFF.txt COM4:
        )
         
        Pause&Exit

    Lo que pasa es que hay que tener ya creado los archivos .txt. No se si se podrá crear desde este menú los archivos .txt con el contenido del Luz_ON y Luz_OFF.

    ¿Alguna idea?

    Mi idea es crear todo en el .cmd o el .bat sin tener archivos .txt extras.

    Saludos.

    • Editado Metaconta domingo, 6 de agosto de 2017 16:52
    domingo, 6 de agosto de 2017 9:24
  • Creo que el problema es que a la versión con ECHO le has metido dos puntos donde debería haber un espacio en blanco. Debe ser así:

    Echo Luz_ON>COM4:

    domingo, 6 de agosto de 2017 18:14
  • No funciona, no envía Lux_ON ni el Luz_OFF.

        @Echo OFF & (CHCP 1252)1>Nul
         
        MODE.com COM4 BAUD=115200 PARITY=n DATA=8 STOP=1
         
        CHOICE.exe /C "12" /M "Escoge una opción..."
        If %ErrorLevel% EQU 1 (
           	Echo Luz_ON > COM4:
        )
        If %ErrorLevel% EQU 2 (
            Echo Luz_OFF > COM4:
        )
         
        Pause&Exit


    http://electronica-pic.blogspot.com

    domingo, 6 de agosto de 2017 20:00
  • En teoría tendría que funcionar exactamente igual que el COPY. Puede ser que el @Echo OFF del principio te lo esté fastidiando. Si necesitas hacer pruebas, puedes verificarlo poniendo CON: en lugar de COM4: para que te envía el eco a consola en lugar de al puerto, y así puedes ver si el @echo off influye o no influye.
    lunes, 7 de agosto de 2017 8:33
  • Buenas:

    Por lo que veo, el @echo solo muestra o no el texto. Haciendo pruebas no pasa nada.

    Cambiar el CON por el COM4 da error.

    Saludos.


    http://electronica-pic.blogspot.com

    lunes, 7 de agosto de 2017 11:20