RS232 comunicación concurrente [cerrada]

-4

Necesito conectarme con una impresora equipada con un puerto RS232 tanto de mi microcontrolador arduino como de mi computadora. Significa que la impresora está conectada a la computadora a través del puerto RS232 y me gustaría conectar una tarjeta arduino al mismo puerto RS232 para enviar algunos comandos. ¿Cuál es el mejor diseño para implementar esta solución?

    
pregunta Francesco

3 respuestas

2

La forma en que los hackers lo hacen, asumiendo que el cableado es corto e ignorando la posibilidad o la gravedad del conflicto entre Arduino y la PC, sería conectar las líneas Tx sobre los diodos + los circuitos de resistencia. Sus líneas Rx se pueden unir sin preocupaciones, y conectarse a la línea Tx de la impresora.

El objetivo es permitir que el nivel MARK (voltaje positivo) de cada puerto RS232 anule el nivel SPACE (voltaje negativo) del otro puerto y viceversa, pero OTOH mantiene el nivel SPACE presente en la línea cuando ambos Tx están en silencio.

Eso significa que cada línea Tx debe estar conectada a la línea conjunta por dos ramificaciones paralelas: primero, un diodo con ánodo en salida Tx y cátodo en línea (Rx de la impresora) y segundo, un diodo y resistencia en serie, orientado el otro alrededor - cátodo hacia Tx, ánodo hacia la impresora Rx. No puedo decirle el valor de resistencia desde la parte superior de mi cabeza, empezaría con 10 K, pero si tiene problemas con la velocidad de comunicación en serie, intente sustituir los más pequeños hasta que funcione.

Espero haber sido claro, pero aquí está el intento del esquema artístico ASCII, cópielo y péguelo en el editor ASCII con una fuente de ancho fijo:

PC Tx ------- + --------------- +              | |              + ---- [Resistencia] - +                                         |                                         + ---------- Rx impresora                                         | Arduino Tx - + --------------- +              | |              + ---- [Resistor] - +

    
respondido por el Annonymous
0

Depende de la plataforma Arduino que estés usando. Pero debería tener al menos un segundo módulo UART que puedas usar. Puede usar un chip como MAX232 para realizar la conversión RS232 < - > UART Y eso es. Tienes dos RS232 en tu arduino que pueden funcionar al mismo tiempo.

    
respondido por el Blup1980
0

Suponiendo que esto es una impresora simple (texto + algunos códigos de control), considere colgar la impresora de las E / S de Arduino usando la biblioteca de serie del software y un traductor de nivel RS232 como el MAX232 o descendientes. Configure la impresora para una velocidad en baudios dentro del rango permitido de serie suave.

Luego haga que la PC hable con la serie USB de Arduino, pensando que es la impresora en sí misma, utilizando la misma velocidad en baudios. Tenga un boceto en el Arduino que copie los caracteres entre las dos conexiones en serie, excepto cuando Arduino decida insertar sus propios comandos.

Probablemente tendrá que bloquear el tráfico de la PC mientras inserta sus propios comandos.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas