TA的每日心情 | 开心 2015-4-21 18:11 |
---|
签到天数: 2 天 连续签到: 1 天 [LV.1]初来乍到
|
发表于 2015-4-20 17:29:50
|
显示全部楼层
DMA速度快!!
void DMA4_Config(void)
{
DMA_InitTypeDef DMA_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); //开启DMA时钟
// Motor_USART_NVIC_Config //配置DMA中断
/*设置DMA源:内存地址&串口数据寄存器地址*/
DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)(&USART1->DR); //USART1_DR_Base;
/*内存地址(要传输的变量的指针)*/
DMA_InitStructure.DMA_MemoryBaseAddr = (u32)SendMotor1Buff;
/*方向:从内存到外设*/
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;
/*传输大小DMA_BufferSize=SENDBUFF_SIZE*/
DMA_InitStructure.DMA_BufferSize = 8;
/*外设地址不增*/
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
/*内存地址自增*/
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
/*外设数据单位*/
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
/*内存数据单位 8bit*/
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
/*DMA模式:一次传输,循环*/
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular ; // DMA_Mode_Normal ;//
/*优先级:中*/
DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh;
/*禁止内存到内存的传输 */
DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
/*配置DMA1的4通道*/
DMA_Init(DMA1_Channel4, &DMA_InitStructure);
USART_DMACmd(USART1, USART_DMAReq_Tx, ENABLE);
DMA_ITConfig(DMA1_Channel4, DMA_IT_TC, ENABLE);
//DMA_ITConfig(DMA1_Channel4, DMA_IT_TC|DMA_IT_TE, ENABLE);
} |
|