que - rs232 cable
Comunicación RS232-¿Puedo usarlo para crear una señal de estado estable? (8)
Honestamente, creo que la respuesta es "no"; Sin embargo, quiero obtener una segunda opinión. Básicamente, necesito un dispositivo de microcontrolador para enviar una señal estable a otra, pero la comunicación entre ellos está usando RS232. Así que creo que tengo que crear / actualizar los mensajes de comunicación para que haga lo que quiero.
¿Qué piensas?
¿Te refieres a un voltaje fijo? No es una ola cuadrada? (la letra U) ¿Qué pasa con un comando de interrupción (si desea llamarlo un comando)?
Ciertamente puede usar una de las líneas de control si eso ayuda ... ¿O está específicamente buscando algo fuera de la TX?
Si bien la primera respuesta es correcta, puede que no sea posible usar esta técnica (usando DTR o DSR) en muchos microcontroladores, ya que pueden no tener esas señales (muchos microcontroladores pueden tener las líneas RX / TX básicas y, a menudo, tendrías para utilizar otros puertos de E / S si quería líneas de control / estado adicionales. Sin embargo, no todo está perdido, muchos controladores RS232 le permiten configurar la línea de TX para ''marcar'' o ''espacio'' (es decir, establecer la línea de TX a la lógica alta o bajo). Esto le permitiría obtener su señal de estado estable. La línea RX en el receptor se puede verificar para ver si está en el nivel de marca o espacio.
Creo que depende en gran medida de la UART que esté utilizando, por ejemplo, el texto del enlace , y el nivel de acceso que tiene bajo el software. Si revisa la hoja de datos, a menudo hay formas de controlar la mayoría de los pines directamente para fines de prueba, pero deberá hacerlo desde un nivel bastante bajo.
En un nivel superior, la respuesta de tvanfosson es más o menos de la manera en que lo haría.
Debería poder establecer algo como DTR (Data Terminal Ready), pin 20 o DSR (Data Set Ready), pin 6, alto y mantenerlo allí como su señal de estado estacionario. Así es como los módems / terminales detectan que hay un dispositivo en el otro extremo que está listo para comunicarse. Todo depende del nivel de acceso que tenga al hardware a través de su controlador.
[EDITAR] Esto no implica el envío de datos, aunque aún puede hacerlo usando TX / RX, pines 2 y 3.
Referencia RS-232 en wikipedia
Es posible hacer algo así, siempre que no te importe una interfaz tipo ráfaga. Un micro podría transmitir un byte y el otro podría hacer algo con ese byte y enviarlo de regreso como respuesta.
La señal estable podría significar:
- ráfaga constante de charaters: mantenga el búfer de envío lleno
- línea sostenida alta o baja: enviar nada o enviar descansos continuos
Si la pregunta es "¿Puedo alterar el estado de CC de la línea Tx?", La respuesta es que muchos uarts (incluidos los de PC) se pueden pedir para crear una condición de "interrupción", que es lo contrario a la inactividad normal. condición de la línea.
Entonces puede activar y desactivar ''break'' y alternar así la línea.
Si puede controlar ambos extremos de la línea, puede convertir las líneas rs-232 tx y rx en líneas lógicas regulares para proporcionar esa información.
Sin embargo, en la mayoría de las situaciones, cada extremo envía periódicamente un byte de información de estado que contiene 8 valores digitales posibles: brinda mucha más información de estado.
Un temporizador en el extremo receptor se restablece cada vez que se recibe un mensaje, y si el temporizador expira, entonces el mensaje ha tardado demasiado y puede actuar en caso de que falte el mensaje de estado.
Como otros han señalado, si está utilizando el control de flujo de hardware también tiene algunas líneas de estado disponibles, aunque en muchos casos esas líneas no se implementan, por lo que puede no ser una opción.
-Adán