// 配置PDMA通道和参数
PDMA_InitTypeDef PDMA_InitStruct = {0};
PDMA_InitStruct.Instance = PDMA;
PDMA_InitStruct.Request = UART_TX_DMA_CH;
PDMA_InitStruct.ChannelPreemptionPriority = 0;
PDMA_InitStruct.BurstType = PDMA_BURST_SINGLE;
PDMA_InitStruct.TransferMode = PDMA_TRANSFERMODE_TO_MEMORY;
PDMA_InitStruct.SrcInc = PDMA_SRC_INC_NO;
PDMA_InitStruct.DstInc = PDMA_DST_INC_NO;
PDMA_InitStruct.MajorTickDiv = 0;
PDMA_InitStruct.MinorTickDiv = 0;
PDMA_Init(PDMA, &PDMA_InitStruct);
// 配置串口发送DMA通道
PDMA_SetTransferAddr(PDMA, UART_TX_DMA_CH, (uint32_t)&UART1->DAT, PDMA_SAR_FIX, (uint32_t)DestArray, PDMA_DAR_INC);
// 配置后主函数打开PDMA通道
SYS_ResetModule(PDMA_RST);
PDMA_Open(PDMA, (1<<UART_TX_DMA_CH));
|