-
Hi, I am trying to use the async transfers with usarts, but it fails to enable the UART (using uart_rx_enable), due to no DMA configured for the usart. I have not been able to modify the device tree for DMA, but so far unsuccessful. On the dma1 node, I have changed the status from "disabled" to "okay", and modified the usart3 to reference the dma1 in "dmas". &dma1 { &usart3 { It fails with: The MCU is the STM32F303CBT6 . Any idea how to configure DMA for usarts correctly? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 3 replies
-
Hello, When using the usart3 with DMA
This is given by the table of the Ref Man for DMA1 request for each channel. |
Beta Was this translation helpful? Give feedback.
-
Thank you for the reply and information - appreciate it! I did the modifications and I am able to enable the UART and get some of the events in the callback function. However, when transmitting data, the application crashes and I never get the UART_RX_RDY event. I still have some debugging to do, but let me know if you have any recommendations or things to check. |
Beta Was this translation helpful? Give feedback.
-
@sbendt Hello, I am also looking to implement uart using the Zephyr async api. My board is a STM32F3 Nucleo-144. So far this discussion has helped me alot but I would like to know if you are willing to share how your code looks in your main.c file? (This is my first time working on DMA's) I have looked at https://github.com/zephyrproject-rtos/zephyr/tree/main/tests/drivers/uart/uart_async_api and I think that I could figure out how to use the async api from there also? |
Beta Was this translation helpful? Give feedback.
Hello,
When using the usart3 with DMA
the dts should look like :
This is given by the table of the Ref Man for DMA1 request for each channel.