DMA数据传输要考虑以下几点:
1. 数据源地址、数据 目的地址
2. 数据宽度
3. 数据传输方向
4. 数据传输字节数以及模式(循环模式或者单次模式)
5. 数据传输结束后是否发生中断或者产生传输半中中断
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);//使能DMA1外设
//配置串口2 DMA
DMA_DeInit(DMA1_Channel7);
DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)&USART2->DR; //定义了外设地址
DMA_InitStructure.DMA_MemoryBaseAddr = (u32)TxBuffer1; //定义了目的地址
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; //外设作为数据的目的地
DMA_InitStructure.DMA_BufferSize = 8; //传送数据缓存大小为8
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; //定义地址在传送后是否会递增
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;//存到内存后地址递增
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
DMA_InitStructure.DMA