STM32H743ZI UART DMA通信实验DMA方式不工作

2019-07-14 14:31发布



STM32H743ZI-NUCLEO进行了一下UART DMA的通信实验,实验很简单就是两块板子的TX<---->RX   GND<---->GND相接,使用官方例程DMA方式和非DMA方式都可以工作,使用CUBEMX(V4.23)----H7的库是最新的V1.1.0----生成的工程DMA方式不工作,非DMA方式可以工作,用逻辑分析器看了一下TX没有数据出来。使用STM32F446ZI-UCLEO用CUBEMX配置生成的代码DMA方式和非DMA方式也都可以工作。是否有哪位遇到过这个问题?H7比较新但我相信偌大论坛应该有哪位手里会有STM32H7的板子,是否可以做一下这个简单的实验。或者有哪位大神指点一下我是否有哪里没有注意到的地方?多谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
formlikon
1楼-- · 2019-07-14 22:11
 精彩回答 2  元偷偷看……
semiaxis
2楼-- · 2019-07-15 04:10
好家伙,都玩上H7了,我的H7还在梦中呢
Oo一笑
3楼-- · 2019-07-15 07:36
等破总板子。。。帮顶
TOPCB
4楼-- · 2019-07-15 12:47
常规检查方式:
1、时钟配置
2、IO配置、复用功能配置
xxn082349
5楼-- · 2019-07-15 15:22
结贴,问题解决。还是ST官方论坛给力。
贴一下原文的回答:

Hello.
The STM32H743ZI has a different memory structure and software of STM32F7xx /STM32F4xx will not work.
When you search for "H743 DMA" you will find my answers regarding this.
Assuming you did not change the linker script, your data wil be located in DTCMRAM (0x20000000 - 0x20020000).
But the peripheral DMA controllers do not have access to this RAM block. There is no interconnection in the matrix.
(Take a brief look at page 99 and page 100 in the Reference Manual RM0433)
You have two options:
Simple way: Set the start address of your RAM to  0x24000000 in the linker script (D1 domain, page 109 in RM0433).
Advanced: Or use a .section command for your memory stream in the linker script and in your code.
- Joerg -

一周热门 更多>