Control de flujo de hardware (CTS / RTS)

4

Mi MCU no puede despertar de los datos de UART, así que quería que despertara de la línea RTS, pero tengo problemas para entender el concepto.

Cuando estoy enviando datos desde mi MCU al periférico, veo que el periférico establece su línea en ALTO cuando su búfer está lleno. Y tan pronto como configuro mi línea en ALTO, el periférico deja de enviarme datos.

Esto permite la comunicación de dúplex completo, pero esperaba que el periférico me notificara antes de enviar cualquier dato, estableciendo su propia línea en ALTO. Esto no permite la comunicación de dúplex completo, pero este periférico tampoco admite TX / RX simultáneos, por lo que no sería un problema.

Entonces, ¿hay dos modos de control de flujo CTS / RTS? ¿Y tengo mala suerte de que el periférico sea compatible con el modo incorrecto? ¿Alguien tiene alguna otra sugerencia sobre cómo puedo activar mi MCU antes de que ingresen los datos de UART?

    
pregunta Muis

2 respuestas

3

Lo que desea es poder usar otras líneas de control (DTR / DSR). Está listo para el conjunto de datos / listo para el terminal de datos, y resolvería su problema si su periférico (o el módulo de BT utilizado) admitiera tal comportamiento.

¿Puedes agregar algún HW a tu lado? Tal vez podría implementar una línea de retardo simple cronometrando los datos entrantes a través de algunos registros de turnos, y activando su MCU con los datos entrantes para que (con suerte) esté listo para recibirlos.

    
respondido por el Drazen Cika
0

La forma más fácil de hacer esto es usar una interrupción activada con el efecto de despegar y caer y conectar la entrada serie en paralelo con la entrada de interrupción.

Si tiene el control del protocolo, simplemente haga que cada paquete comience con un byte "FF", que será todo alto, excepto el bit de inicio, que será bajo. Básicamente, esto solo generará un pulso bajo en el cable, lo que le dará tiempo suficiente para despertarse y recibir los datos del paquete real.

    
respondido por el Jon Watte

Lea otras preguntas en las etiquetas