我正在尝试使用定时器和 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 位传输以及只运行一个通道。没运气。