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.
你(们)好
这里再次尝试使它在 UDMA 的双模式下工作主要问题是当我在没有 UDMA 的情况下工作时,它可以正常工作,但在 UDMA 的情况下,我总是只能得到一个字..
通常、要在双模式下读取、我要做的是:
SSIDataPut (SSI2_base、0x00);
数据= HWREG (SSI2_base + SSI_O_DR);
它的工作非常完美、但使用了 UDMA;
uDMAChannelTransferSet (UDMA_CH12_SSI2RX | UDMA_PRI_SELECT、UDMA_MODE_BASIC、(void *)(SSI2_base + SSI_O_DR)、DATA、48);
uDMAChannelEnable (UDMA_CH12_SSI2RX);
对于我来说,看起来就像 uDMA 仍然读作传统模式。 但通常我会进行"写入"、以便在没有 UDMA 的情况下工作时能够读取。 但是对于 uDMA、我不"写入"它是正确的吗?
我缺少一些配置来使 uDMA 在模式双模式下读取。
不能、作为一个主器件、你仍然需要执行一个"写入"来为读取生成时钟。 在 SSI_ADV_MODE_BI_READ 模式下、对 TX FIFO 的写操作仅为从机生成时钟。 要仅使用 UDMA 从从器件读取数据、您需要设置两个 UDMA 通道、一个是写入 SSIDR、另一个是从该寄存器读取数据。