I am trying to setup the UART such that, I use the RxFIFO INT until I receive a certain code, upon which, I disable the INT using (NVIC_DisableIRQ()) and start the DMA for the same UART.
However, there seems to be an error in the received bytes using the DMA.
Is disabling the INT on UART and setting up the DMA in runtime a good practice or should I avoid it ?
PSoC 6 MCU
- uart dma
Would it be possible to share your project so that we can try it at our end?
It should be possible to use the DMA and UART Interrupt selectively as long as the hardware connections and configurations (for DMA) and the software configurations (such as disabling the interrupts for the UART component) are managed correctly.
Thank you for offering to help. I set up 2 UARTs, one to echo to the PC terminal for user feedback, and the other is to communicate the PSoC with an Arduino (Arduino is a managing a BLE sensor which I can't get the BLE driver to operate with PSoC, so I have to use Arduino).
The UART for the arduino is UART_belt and on startup, it operates with RxFIFO INT: UART_belt_ISR()
It listens to UART until it receives 2 bytes with the start code indicating that the BLE sensor is ready . Then the ISR would deactivate itself and start the DMA for the UART_belt block to handle any further data transfer which will be only streaming data.