Estoy mirando la hoja de datos de ATMega328p y un diagrama de Arduino Pin , tratando de determinar si el chip puede admitir tres conexiones UART. Veo que PD0 y PD1 son "USART" In y Out. Entonces, ¿eso significa que los otros 10 o más pines digitales se pueden usar para comunicaciones "UART"?
Necesito conectar tres dispositivos UART a través del chip ATMega. El ATMega reenviará el tráfico entre dos de los dispositivos a la vez, según el modo en el que se encuentre.
Si no tiene suficientes puertos seriales de hardware, puede usar otros pines IO para serial bajo el control del software. Pero, no espere obtener 115200bps...
Es cierto: solo un puerto serie en el ATMega 328. Puede hacer lo que los demás sugirieron y usar software-serial o puede usar un multiplexor si no necesita que sus puertos serie estén siempre encendidos. Sparkfun tiene uno que se puede usar para 3.3V aquí: http://www.sparkfun.com/commerce/product_info.php?products_id=8970
Básicamente, si no hay un tráfico constante, especialmente si solo necesita enviar mensajes o solo recibirá una respuesta para un comando, entonces puede usar el multiplexor. Simplemente cambie al dispositivo que desee, envíe comandos, espere la respuesta y luego cambie a otro dispositivo.
Solo hay un UART en el 328P. Si su ancho de banda es bajo, puede hacer una emulación de software de un UART con algunos de los otros pines digitales. Hay una biblioteca de Arduino llamada NewSoftSerial que habilita esta funcionalidad.
Soy nuevo en el desarrollo de SBC, vengo de Desarrollo de software, pero es posible que desee ver el ATmega 2560, que creo que tiene 4 UART.
Puede agregar un UART dual con interfaz SPI o I2C. NXP hace uno que he usado en tableros. Alrededor de $ 4 de Digikey, es más barato que saltar a un Atmega2560 de $ 12 para un diseño y ofrece más almacenamiento en búfer de datos. https://www.nxp.com/products/analog/signal-chain/bridges/om6273-sc16is752-762-spi-ic-to-dual-uart-irda-gpio:OM6273?lang=en&lang_cd=en&
usuario15514
chris stratton