Necesita ayuda para enviar datos ASYNC entre dos microcontroladores Arduino UNO R3.
El diseño del sistema sigue:
Módem RS232 19,200,8,N,1 --> UNO-1 D0=(rx), D1=(tx). Los parámetros RS232 no se pueden cambiar porque el dispositivo está codificado. UNO-1 ejecuta el boceto enviando comandos AT y analizando los datos recibidos. Los datos analizados deben enviarse a otro módem RS232 pero, lamentablemente, este dispositivo está codificado para 9600, 7,E,2. Solo hay una USART o la UNO.
Mi idea es aprovechar un 2º UNO R3 para convertir los datos a 9600, 7,E,2.
Entonces... Módem 19,200,8,N,1 --> UNO-1 -->INTERFAZ SPI (mstr) --> UNO-2 --> puerto serie del software --> Dispositivo 9600, 7, E, 2.
Intenté reconfigurar el USART en el UNO antes de enviar datos a cada dispositivo ASYNC. Apareció el problema de que se reciben datos importantes y no solicitados del módem 19,200 mientras que el UNO está enviando datos al otro dispositivo ASYNC en 9600,7, E, 2.
La interfaz SPI parece ser mi única opción. ¿Alguien puede ayudar?
Puede usar la Biblioteca de transferencia fácil de Bill Porter para transferir paquetes de ida y vuelta entre dos Arduino, a través de I2C o VirtualWire. Tenga en cuenta que el SPI tiene una relación maestro/esclavo, por lo que el lado maestro siempre está sondeando cuando está inactivo para recibir. El ET anterior es asíncrono.
Estoy de acuerdo @Chris Stratton. Creo que un solo UNO con un Hard UART en 19200 y un Soft UART en 9600 harían el trabajo.
De todos modos, es posible que el lado 19200 requiera la capacidad de fluir desde el módem (o host), probablemente usando cualquiera de los pines de salida como comandos CTS o XON/XOFF. Tenga en cuenta que cuando afirma el CTS, el host no enviará el siguiente búfer, sino que finalizará su búfer actual. Por lo tanto, el búfer rx de Arduino debe ser lo suficientemente grande para obtener un paquete y enviar el siguiente paquete. El ATmega328 solo tiene 2K. Entonces, su paquete máximo debería ser 512 (también conocido como 1/4) o menos, menos la sala de operaciones. etc...
Dicho todo esto, la mayoría de los módems (que tienen menos de 15 años) deberían ser compatibles con AT&Q5 para activar el modo confiable automático con almacenamiento en búfer de velocidad. Permitiéndole detectar automáticamente la velocidad en baudios del DTE.
chris stratton
Kurt E. Clothier
chris stratton
Kurt E. Clothier