This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我目前正在使用 DMA 设置 MibSPI2。 出于某种原因,当我尝试写入数据时,DMA 不会将数据传输到 MibSPI RAM (如果我调用 MibspiSetData(),则输出数据)。 我看了 HalCoGen 文件夹中的示例、并看了这些论坛上的一些其他示例、似乎我正在执行与这些示例相同的过程、但它似乎不起作用。 到目前为止、这是我的代码过程:
mibspiInit(); dmaConfigCtrlPacket(); dmaSetCtrlPacket (dma_CH0、dmaCtrlPckWrite); dmaReqAssign (dma_CH0、 DMA_REQ3); dmaReqAssign (DMA_CH1、DMA_REQ2); dmaSetChEnable (DMA_CH0、DMA_HW); dmaSetChEnable (DMA_CH1、DMA_HW); dmaEnableInterrupt (DMA_CH0、FTC、DMA_INTA); mibspiDmaConfig (mibspiRegister、0、0、1); dmaEnable(); mibspiTransfer (mibspiRegister、0);
我的 DMA 配置中是否缺少内容? 我不知道为什么它不会将数据从我的缓冲区复制到 mibspiRAM。
谢谢
是的、我确实为 MibSPI2配置了引脚多路复用器。 我遵循了您在生成代码时提到的相同步骤。 我使用 TI 的这个教程来配置 HalCoGen (除了 MibSPI2而不是 MibSPI1):
training.ti.com/hercules-tutorial-mibspi-and-dma-overview
谢谢、
密耳
我正在将此代码作为无法共享的大型项目的一部分进行测试。 不过、我已附加了 mibspi 代码的相关文件。 调用"Eeprom25lc512_Init()"函数将运行我正在测试的代码。
您是否能够确定问题的根源?
我遇到了完全相同的问题、无法弄清为何不触发 DMA ...
谢谢、
Arthur