static void DMA_Config(void)
{
/* Deinitialize DMA channels */
DMA_GlobalDeInit();
DMA_DeInit(DMA1_Channel0); //USART2 TX 通道
/* DMA channe0 Tx of USART Configuration */
DMA_Init( USART_DMA_CHANNEL_TX, //DMA通道
(uint16_t)TxBuffer, //指向要发送数据的内存地址
(uint16_t)USART2_DR_ADDRESS, //外设地址 (USART2 数据寄存器地址)
DATA_TO_TRANSFER, //待传送数据的大小 DATA_TO_TRANSFER
DMA_DIR_MemoryToPeripheral, //DMA传输方向,内存到外设
DMA_Mode_Normal, //DMA工作模式
DMA_MemoryIncMode_Inc, //内存增量递增
DMA_Priority_High, //DMA通道优先级
DMA_MemoryDataSize_Byte); //每次传输1个字节 DMA_MemoryDataSize_Byte
/* Enable the USART Tx/Rx DMA requests */
USART_DMACmd(USART2, USART_DMAReq_TX, ENABLE);
//USART_DMACmd(EVAL_COM1, USART_DMAReq_RX, ENABLE);
/* Global DMA Enable */
DMA_GlobalCmd(ENABLE);
}
|