#include /** @function Conf_DMA @brief DMA配置 @param[in] DMAx: DMA通道 ** DMAPipe: DMA管道,可选参数如下 UART1_XDATA UART1-->XDATA XDATA_UART1 UART1<--XDATA I2C_XDATA I2C -->XDATA XDATA_I2C I2C <--XDATA SPI_XDATA SPI -->XDATA XDATA_SPI SPI <--XDATA ** DMAAddr: 传输首地址,可取地址范围:0x0000~0x0317 ** DMALen: DMALen 数据包大小(1~64) @return None @date 2025-11-05 */ void Conf_DMA(uint8_t DMAx, uint8_t DMAPipe, uint16_t DMAAddr, uint8_t DMALen) { // 等待DMAx传输结束 Wait_DMA(DMAx); // 禁止DMAx的传输 ClrBit(*(&DMA0_CR0 + DMAx), DMAEN); // 设置DMAx的传输管道 SetReg(*(&DMA0_CR0 + DMAx), DMA_PIPE, DMAPipe); // 配置长度 *(&DMA0_LEN + DMAx) = DMALen - 1; // 配置传输地址 *(&DMA0_BA + 2 * DMAx) = DMAAddr & 0x07ff; }