Necesito dos puertos seriales para este proyecto Atmega328 Arduino, pero este procesador solo tiene un UART de hardware. El procesador, el diseño de hardware y el entorno de programación ya están configurados, y no puedo cambiar el hardware o el procesador, por lo que se requiere una solución de software.
Las bibliotecas de Arduino incluidas proporcionan una biblioteca de SoftwareSerial que descubrí que es solo semidúplex: durante la rutina de envío, las interrupciones están desactivadas, lo que por supuesto significa que la rutina de recepción dirigida por interrupciones se apaga.
Antes de implementar mi propia biblioteca de dúplex completo, quería saber si otros han encontrado una solución simple para esto, o si hay bibliotecas que lo implementan correctamente.