工具与软件:
我正在使用 spi_controller_fifo_dma_interrupts 示例代码、但进行了一些小改动。 最佳做法是将 TX 长度设置为要发送的字节数、将 RX 长度设置为要接收的字节数。 我非常确信能够按预期运行。 我更改了一些代码、将示例转变为传递 TX 和 RX 长度的函数、现在它将无法接收并挂起、等待 DL_SPI_IIDX_DMA_DONE_RX 中断。 我可以通过将 RX 长度添加到 TX 长度来解决此问题、从而强制使用更多的 SPI 时钟、但我以前不必这样做、这样我就很确定我损坏了某个东西。
我有这样的说法吗?如果我告诉 DMA 控制器接收10个字节、它将自动为这些数据生成 SPI 时钟。 或者、我是否必须通过向 TX 长度添加虚拟字节来手动创建所需的时钟、以便从外设为数据计时?
谢谢!
Chris