ST意法半导体
直播中

摩托罗拉

9年用户 974经验值
私信 关注
[问答]

求助,DMA传输错误的原因是什么?

我正在尝试使用定时器和 4 个 dma 通道以 1MHz 的速率从外部 SPI ADC 读取数据。
我将 tiM 3 设置为以 16 MHz 运行并以 24 的计数翻转。
CC1脉冲为1,cc2脉冲为2,cc3脉冲为22。
CC1 驱动 DMA1 stream4,它被设置为从内存传输到 GPIO BSSR 寄存器,cs assert
CC2 驱动 DMA1 流 5 写入 16 位值到 SPI Tx 寄存器,开始传输
CC3 驱动 DMA1 流 7,它被设置为从内存传输到 GPIO BSSR 寄存器,cs de-assert
SPI 传输按预期工作,但 GPIO DMA 因传输错误而失败,并且 NDTR 寄存器从编程值减 1。
如何调试 DMA 传输错误。我已经尝试过 16 位和 32 位传输以及只运行一个通道。没运气。





回帖(1)

陈自萤

2022-12-15 14:18:52
您必须使用 DMA2 从/向 GPIO 传输数据。
举报

更多回帖

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