STM32
直播中

张英

7年用户 1380经验值
私信 关注
[问答]

NUCLEO-STM32H723ZG的BDMA使用I2C4的TX作为请求源,I2C4不发送数据是什么原因导致的?

BDMA使用通道0配置为内存到外设模式,请求源为I2C4的TX,使用I2C4进行从机DMA发送时,其中存储器的初始地址为SRAM4的初始地址0x38000000,发现内存的中数据未传输到I2C4的TXDR中,使用逻辑分析仪抓取的信号,也没有看到数据发送出去,只停留在地址被ack阶段,此时I2C4的TXE和TXIS都为1,I2C4的txdam已经使能。
我想问这是什么原因导致的?

回帖(1)

刘丽菲

2024-3-19 14:39:52
我看了下,从架构上看,BDMA实现I2CR与SRAM4之间的传输是没有问题的。

TXE=1 表示发送数据寄存器是空的,你确认下DMA这边到底配置好没有。

或者你分两步来,先保证BDMA跑顺,比方用BDMA传输SRAM4的数据到GPIO。

然后再切换到I2C.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分