关于DMA的MEM2MEM模式的疑问

运行例程是OK的, 但是如果修改数据长度为 32 位时, 就不能得到正确的结果, 百度搜索STM32的例程却是可以这样修改的, 是不是在 RISCV 框架下, M2M 的模式被锁定为 8 位传输?


相关程序修改片段如下: 

void DMA1_CH3_Init(void)

{

 ...

   DMA_InitStructure.DMA_BufferSize = Buf_Size; // 例程为 Buf_Size * 4; 

    DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Enable;

    DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;

    DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;

    // 例程为 DMA_PeripheralDataSize_Byte;

    DMA_InitStructure.DMA_MemoryDataSize = DMA_PeripheralDataSize_Word;

     // 例程为 DMA_PeripheralDataSize_Byte;

...   

}


您好,可以实现32位传输,代码修改如下:

image.png


只有登录才能回复,可以选择微信账号登录