DMA配置

来源:互联网 发布:病态矩阵 编辑:程序博客网 时间:2024/06/06 03:28

//DMA通道值1设置为缺省值

DMA_DeInit(DMA1_Channel1);

//(u32)(&(ADC1->DR))数据原地址(外设地址)  ADC的数据转换结果寄存器

  DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)(&(ADC1->DR));

//(u32)&ADC_Result数据目的地址(内存地址)

  DMA_InitStructure.DMA_MemoryBaseAddr = (u32)ADC_Result;

//内存作为数据传输的目的地

  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;

//DMA通道的DMA缓存的大小

  DMA_InitStructure.DMA_BufferSize = size_x;

//外设地址是否自加  

  

  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;

//内存地址是否自加

  //外设地址的数据先传到内存地址,然后再显示

DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;

//(外设地址)数据宽度为16

  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;

//(内存地址)数据宽度为16

  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;

//

  DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;

//DMA通道拥有高优先级

DMA_InitStructure.DMA_Priority = DMA_Priority_High;

//

  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;

//根据DMA_InitStruct中指定的参数初始化DMA的通道

  DMA_Init(DMA1_Channel1, &DMA_InitStructure);

DMA_ITConfig(DMA1_Channel1, DMA_IT_TC, ENABLE);

DMA_Cmd(DMA1_Channel1, ENABLE);

 

外设地址不自加,内存地址增加,外设地址的数据将2个字节传递给内存地址,然后内存地址


0 0
原创粉丝点击