1 votos

Enviar el tono de alerta al PC desde el microcontrolador a través de la comunicación serie

Estoy aprendiendo microcontrolador durante un par de semanas. Ayer, he aprendido cómo establecer la comunicación en serie entre el PC y el microcontrolador. Puedo enviar textos al hyperterminal de la pc desde el mcu y enviar textos desde la pc al mcu.

Ahora, me surge una pregunta. Es cómo puedo enviar palabras de control a la PC desde el mcu, digamos enviar un tono de alerta a la PC desde el mcu? ¿Es posible? Gracias. Por cierto, estoy usando el microcontrolador PIC.

1voto

Denis de Bernardy Puntos 175

Esto suena un poco como un Problema X-Y a mí.

Si sólo quieres producir un sonido cada vez que tu MCU detecte alguna condición, te sugiero encarecidamente algún tipo de zumbador (magnético o piezoeléctrico). Es simple, fiable, eficiente energéticamente y barato. Utilizar un ordenador sólo para esta tarea es una gran exageración.

Sin embargo, supongo que haces la pregunta de esta manera porque quieres más adelante desencadenar algo más complicado que necesite tu ordenador. La forma genérica de resolver este problema es escribir en el ordenador algún programa siempre activo (un "demonio" ) que habla con tu mcu a través del puerto serie (o USB o lo que sea) y hace lo que sea necesario, cuando sea necesario : (ejemplo de python)

import serial
ser = serial.Serial()
while (True) :
    if Serial.read()=='a' :
        # do something

También podrías iniciar un shell estándar (bash, zsh o lo que esté disponible para tu sistema operativo) hablando a través del puerto serie. Necesitas configurar el puerto serie antes de eso (me viene a la mente stty) ; pero entonces no necesitas escribir / mantener nada en el PC por ti mismo y solo escribes comandos desde tu mcu en el TX serial.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X