Uart / Usart: use solo Rx-pin

4

Estoy diseñando una placa con un MCU stm32f722 (versión de 64 pines) y no puedo perder / no usar ningún GPIO.

Mi pregunta es la siguiente : ¿Hay una opción para usar solo el pin Rx de un uart / usart para que el pin Tx pueda usarse para otra cosa (en mi caso, SPI_SCK)?

Si habilito un uart / usart en STM32CubeMx y voy a la pestaña "Configuración", puedo cambiar "Dirección de datos" a "Solo recibir". Pero esto no desactiva el Tx-pin.

Otra forma puede ser usar el modo semidúplex, pero el Tx-pin se usaría de todos modos y no podría usarlo para SPI.

Nota: todavía estoy planeando mi propio tablero y no tengo ningún hardware para probar.

    
pregunta Lukas

2 respuestas

1

Sin estudiar la hoja de especificaciones para su parte en particular, sería inusual si le permitiera esa flexibilidad. Aunque de acuerdo con el comentario de Bence, este podría.

Sin embargo, eso no significa que no pueda compartir pines para diferentes funciones.

La clave aquí es dedicar algunos pines, o varios pines, para permitir que los circuitos externos, multiplexores, puertas, etc., comprendan cómo el dispositivo está utilizando actualmente los pines. Parece que significa atar un par de pines más, pero si tiene suficientes pines que pueda compartir, se puede reducir el número total de pines.

En el caso de las líneas seriales, por supuesto, deberá multiplexarlo en el tiempo. Es decir, no podría realizar la comunicación en serie al mismo tiempo que usaba los pines para las otras funciones.

    
respondido por el Trevor_G
0

Tendría que revisar la hoja de datos para ver si se admite un modo semidúplex usando solo el pin de recepción; por ejemplo, podría tener mala suerte y descubrir que se ofrece uno, pero usa el pin de transmisión.

Sin embargo, hay una solución que definitivamente funcionaría

  1. Configure el pin de transmisión para la función no USART para la que desea usarlo, ya que STM32 permite la asignación única de cualquier pin independientemente de los demás.

  2. Configure el pin RX para la función alternativa de recibir USART

  3. Cuando desee transmitir, reconfigure el pin RX como GPIO y bit bang la señal. La transmisión de bits es quizás más limpia que tener que recibir muestras de bits de todos modos, ya que puede continuar utilizando la interrupción de recepción de USART siempre que vuelva a configurar el pin a tiempo.

Una cosa que tendrás que averiguar es qué pasa con el USART mientras estás transmitiendo poco a poco, no estás seguro de si recibirás tus propias transmisiones o no, o incluso entrarás en un estado de error, pero puedes despejar las banderas cuando vuelvas al modo de recepción.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas