3.ADC_Cmd函数的功能是使能或失能指定的ADC,其中ADC_Cmd只能在其他ADC设置函数之后被调用 ADC_Cmd(ADC1,ENABLE); 4.ADC_DMACmd函数的功能是使能或者失能指定的ADC的DMA请求。 ADC_DMACmd(ADC1,ENABLE); 5.ADC_ITConfig函数的功能是使能或者失能指定的ADC的中断,其中可以是EOC/AWD/JEOC ADC_ITConfig(ADC2,ADC...
//5、开关控制,ADC_Cmd()函数开启ADC。//6、根据手册建议,开启后还可对其进行下校准,可减小误差。voidAD_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);RCC_ADCCLKConfig(RCC_PCLK2_Div6);//6分频GPIO_InitTypeDefGPIO_InitStructure...
void MYDMA_Config(DMA_Channel_TypeDef*DMA_CHx,u32 cpar,u32 cmar,u16 cndtr)//配置DMA1_CHx { DMA_InitTypeDef DMA_InitStruct; //定义DMA配置参量结构体 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); //使能DMA1时钟 DMA1_MEM_LEN= cndtr; //记录需要传输的数据量 DMA_DeInit(DMA_CHx);...
DMA_Init(DMA2_Stream0,&DMA_InitStructure); DMA_Cmd(DMA2_Stream0,ENABLE); 在ADC寄存器中开启DMA传输,使用两个函数一个是设置CR2的DDS位,使得每次ADC数据更新时开启DMA传输; 另一个是设置ADC CR2的DMA位,使能ADC的DMA传输。 分别使用以下两个函数: ADC_DMARequestAfterLastTransferCmd(ADC1,ENABLE); //源...
传输请求函数触发 例如: ADC_DMACmd(ADC1,Enable); 4.DMA有哪些传输方向? 内存 到 内存 内存 到 外设 外设 到 内存 5.DMA传输会触发哪些中断? 非DMA模式(配置16个通道) void adc_gpio_init(void) { GPIO_InitTypeDef t_gpio; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_...
ADC_Cmd(ADC1,ENABLE); 4.ADC_DMACmd函数的功能是使能或者失能指定的ADC的DMA请求。 ADC_DMACmd(ADC1,ENABLE); 5.ADC_ITConfig函数的功能是使能或者失能指定的ADC的中断,其中可以是EOC/AWD/JEOC ADC_ITConfig(ADC2,ADC_IT_EOC|ADC_IT_AWD); 6.ADC_ResetCalibration函数的功能是重置指定的ADC的校准寄存器。
void adc1_dma_init(uint32_t addr, uint32_t number); void process_adc1_dma(void); #endif /* __IO_ADC_H__ */ GD32源码: void adc1_init(int32_t channel_num) { rcu_periph_clock_enable(RCU_GPIOA); rcu_periph_clock_enable(RCU_ADC0); ...
Cmd(ADC1, ENABLE); ADC_DMACmd(ADC1, ENABLE); ADC_SoftwareStartConvCmd(ADC1, ENABLE); /* ADC calibration and reset calibration */ ADC_ResetCalibration(ADC1); while(ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1); while(ADC_GetCalibrationStatus(ADC1)); } void adc1_dma...
void ADC_DMACmd(ADC_TypeDef* ADCx, FunctionalState NewState) { /* Check the parameters */ assert_param(IS_ADC_DMA_PERIPH(ADCx)); assert_param(IS_FUNCTIONAL_STATE(NewState)); if (NewState != DISABLE) { /* Enable the selected ADC DMA request */ ...
ADC_DMACmd(ADC1, ENABLE); // 开启ADC ,并开始转换 ADC_Cmd(ADC1, ENABLE); // 初始化ADC 校准寄存器 ADC_ResetCalibration(ADC1); // 等待校准寄存器初始化完成 while(ADC_GetResetCalibrationStatus(ADC1)); // ADC开始校准 ADC_StartCalibration(ADC1); ...