En mi proyecto necesito conectar un receptor gps y un módem gsm a pic16f877a, pero solo hay un conjunto de líneas UART en este microcontrolador. ¿Es posible multiplexar estos dos dispositivos usando software sin el uso de hardware adicional?
En mi proyecto necesito conectar un receptor gps y un módem gsm a pic16f877a, pero solo hay un conjunto de líneas UART en este microcontrolador. ¿Es posible multiplexar estos dos dispositivos usando software sin el uso de hardware adicional?
Te estás acercando al problema de la manera incorrecta. Tiene dos dispositivos que emiten datos en serie, por lo que necesita un microcontrolador con dos UARTS. Afortunadamente, tales cosas están disponibles, por ejemplo, entre los PIC24 hay chips que tienen dos puertos UART y dos puertos I2C. Estos siguen siendo PIC, por lo que puedes aplicar tus habilidades PIC16.
¡Haz coincidir el microcontrolador con la aplicación! No tengas un microcontrolador "mascota" que uses para todo, sin importar qué.
No hay muchas razones para usar un PIC16 hoy en día en un nuevo diseño. Es genial que Microchip esté detrás de ellos y aún los haga. Pero el valor principal de esto es que puede reemplazar uno que no funciona en un dispositivo antiguo.
Como se indicó en las otras respuestas, considere cambiar a un PIC más avanzado con 2 módulos UART. La serie de microcontroladores PIC18 aún es de 8 bits, pero ofrece más periféricos que los PIC16. Cambiar a un PIC18 también le permitiría aprovechar el compilador Microchip C18, que facilita la escritura de los programas (se puede escribir en C en lugar de en Ensamblaje) y el compilador viene con un conjunto de bibliotecas de software, por ejemplo, una implementación de software de un UART periférico.
Si tiene una interfaz I2C o SPI disponible en su micro, podría colgar un UART (por ejemplo, XR20V2170IL40-F) fuera de eso.
Lea otras preguntas en las etiquetas pic serial multiplexer