STM32H7 USART1 DMA is not working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-04-30 3:38 AM
Hi team,
I'm using STM32H753BI. Here i'm using USART1 (PA9 & PA10) in DMA Mode. That code is generated by cubeMX and also i tried the example program of STM32H743-EVAL Board. Both are not working.
Here i have attached the hal_msp_file.c and main.c for your reference.
Thanks,
vel.
Solved! Go to Solution.
- Labels:
-
DMA
-
STM32H7 Series
-
UART-USART
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-05-04 12:04 AM
Tx buffer (aTxStartMessage) is at 0x20000000 and that's DTCM which is not accessible by DMA.
JW
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-04-30 7:56 AM
What does "not working" mean here specifically? How do you know it's not working?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-04-30 8:13 AM
DMA does work on the H7/UART
I suspect you're going to have to be more attentive to the memory buffer addresses, cache coherency, and program flow here.
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-04-30 5:05 PM
Hi,
Thanks for your response. I'm expecting the data in Hyper terminal. But data was not shown the terminal. That's why i mentioned its not working.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-04-30 5:59 PM
If the interrupt and polled versions transmit successfully the UART works.
If the DMA isn't sending the expected data, check the buffer address
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-05-02 11:13 PM
Hi,
Yes, interrupt and polled version transmission is working fine.
verified the buffer address, it is correct.
HAL_DMA_ERROR_TE error bit was set while transmitting the data.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-05-02 11:51 PM
> verified the buffer address
Tell us that address.
JW
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-05-02 11:54 PM
Hi,
Thanks for your response. I understand your point. That's why I'm follow the example program for STM32H743I-EVAL Board example. but example program also not working.
HAL_DMA_ERROR_TE error bit was set while transmitting the data.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-05-03 9:29 PM
Hi,
Thanks for your response. Here I'm mentioned the DAM Address. Buffer Address is 0x400200xx..
Thanks,
vel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-05-04 12:04 AM
Tx buffer (aTxStartMessage) is at 0x20000000 and that's DTCM which is not accessible by DMA.
JW
