Un programa de C relativamente simple para manejar la comunicación en serie desde un host a un microcontrolador (originalmente Arduino) fue publicado hace muchos años por TodBot
La fuente de C está en github
He usado una versión anterior. Tiene algunas opciones más ahora, pero aún es lo suficientemente corta como para ser relativamente comprensible. Está escrito en C, por lo que debe compilarse en la mayoría de los sistemas con un compilador similar a POSIX y una biblioteca básica.
Los dos archivos principales del código fuente, arduino-serial.c y arduino-serial-lib.c son aproximadamente 350 líneas de C. directa. Ignore arduino-serial-server.c, es irrelevante.
La mayoría de (todos) los sistemas operativos modernos están escritos en C / C ++. C / C ++ funciona bien para este tipo de tarea de línea de comandos. Muchas de las API del sistema operativo están documentadas para su uso directamente desde C / C ++. Por lo tanto, no hay mucho más para causar complejidad, y las preguntas planteadas en C deberían ser las más fáciles de responder. C / C ++ no son los lenguajes más fáciles de usar ni los más bonitos, pero son bien entendidos, tienen muchos usuarios y código fuente y son estables. C es significativamente más simple que C ++, por lo que aprender y usar C será más sencillo para este tipo de tarea.
Es posible que no tenga acceso a una PC con serial / RS232. Obtén un cable USB-UART y úsalo. Uso FTDI USB-UART originales y nunca he tenido problemas. Los sistemas operativos host ya tendrán controladores para USB-UART, por lo que no debería ser necesario instalar ningún controlador si utiliza un producto conocido. Ese programa C fue diseñado para usar un USB-UART FTDI, pero imagino que funcionará correctamente en la mayoría de los productos porque utiliza un pequeño subconjunto de instalaciones de E / S en serie.