2020-02-05 03:22 AM
I am using Nucleo-F429ZIT. I have used UART4 and linked it with DMA for reception. The EN flag bit in DMA_SxCR register is cleared when I connect peripheral board with STM. This issue is happening only when I disconnect the power supply of peripheral board and reconnect it. The peripheral board is powered up from Nucleo board (3V3).
I have also tried to give power to my peripheral board from another reliable source but still its flag is cleared. And also, the communication between Nucleo and periph board gets lose after reconnecting the board. This issue is recoverd only when I reset the STM.
2020-02-05 03:52 AM
The NUCLEO really isn't designed to hot-plug other boards into.
Make sure the grounds are common and connect first.
Consider RS232 connectivity.
2020-02-05 09:09 PM
Thank you @Community member for response.
2020-02-05 10:59 PM
Powering the "periph board" down or up means it will probably load the Rx line down by its protection structures. Connect an oscilloscope and observe what happens there. The UART in STM32 sees this as incoming random bytes (that's why your DMA EN bit gets cleared - it actually DOES receive bytes) and BREAK events, and acts accordingly.
> communication lost
You ought to have an upper level protocol on UART which is robust enough to withstand these random data - use packetization, checksumming, timeouts.
JW