DMA transfer delay when EXTI occur
My target:
I want to use the same uart lines(RX line and TX line) to achieve communication between computers and multiple devices (in other words: multiple slave devices, computer as master).
I use some STM32F072C8 as slave devices, and configure these slave devices as follows:
- configure USART1 to DMA send mode
- Disable exti interrupt at USART1 TX gpio PA9 or enable the interrupt and add some delay time in the interrupt handle function.
Total methord:
- I use computer to send a message through UART. The slave devices reply the message as soon as receiving the master message by uart.
- Avoid slave devices sending jam.
Test result:
- when I disable the exti interrupt at USART1 TX gpio PA9, the slave devices will send data at the same time so the computer cannot receive correct data.
- when I enable the exti interrupt at USART1 TX gpio PA9 and add some delay time in the interrupt handle function, the slave devices will send data one by one and the computer can receive all correct data.
Question:
I want to know whether the data transfer from SRAM to USART through DMA will be broken and transfer again when an exti interrupt occurs on USART TX pin.
