adc_external_trigger_source_config(ADC->adc_port, ADC->adc_channel_group, ADC->trigger_source); adc_external_trigger_config(ADC->adc_port, ADC->adc_channel_group, ENABLE); 8. 选择是否需要DMA C /*选择是否需要使用DMA*/ if(ADC->DMA_mode == ENABLE) { adc_dma_mode_enable(ADC->adc_po...
ADC0_3/10*3.3f/4096); ADC0_Flag=0; adc_config(); dma_memory_address_config(DMA0, DMA_CH0, (uint32_t)(&ADC0_Value)); dma_transfer_number_config(DMA0, DMA_CH0, 40); dma_channel_enable(DMA0, DMA_CH0); adc_software_trigger_enable(ADC0, ADC_REGULAR_CHANNEL); } delay_1ms(...
/* ADC trigger config */ adc_external_trigger_source_config(ADC0,ADC_REGULAR_CHANNEL, ADC0_1_EXTTRIG_REGULAR_NONE); adc_external_trigger_config(ADC0, ADC_REGULAR_CHANNEL, ENABLE); /* ADC DMA function enable */ adc_dma_mode_enable(ADC0);//使能 DMA 模式 /* enable ADC interface */ a...
adc_special_function_config(ADC0,ADC_CONTINUOUS_MODE,ENABLE); 1. 然后只需打开启动一次ADC转换。 adc_software_trigger_enable(ADC0,ADC_REGULAR_CHANNEL); 1. 最后看看ADC采样时间的计算。 ADCCLK(ADC的时钟频率 ) = 120MHZ(系统时钟频率) / 8 (ADC分频因子) = 15MHZ。 一个ADC周期占用的时间 = 1 /...
uint16_tAdcSample(uint8_t channel){/* ADC regular channel config */adc_regular_channel_config(0U,channel,ADC_SAMPLETIME_7POINT5);/* ADC software trigger enable */adc_software_trigger_enable(ADC_REGULAR_CHANNEL);/* wait the end of conversion flag */while(!adc_flag_get(ADC_FLAG_EOC));...
// 配置通道 ADC_ConfigChannel(ADC_CH_NUM0, ENABLE);// 配置触发源为软件触发 ADC_ConfigTrigger...
adc_software_trigger_enable(ADC0, ADC_REGULAR_CHANNEL); 最后看看ADC采样时间的计算。 ADCCLK(ADC的时钟频率 ) = 120MHZ(系统时钟频率) / 8 (ADC分频因子) = 15MHZ。 一个ADC周期占用的时间 = 1 / 时钟频率 = 1 / 15MHz = 0.066666 uS
在ADC Ready后,软件即可执行adc_ordinary_software_trigger_enable(ADC1,TRUE);/adc_preempt_software_trigger_enable(ADC1,TRUE);来进行普通/抢占通道的触发。 外部触发设定,软件由单独的函数接口实现,其软件实例如下:在ADC Ready后,TMR1CH1的上升沿事件就会触发普通通道组转换,TMR3CH4的上升沿事件就会触发抢占通道...
/adc_enable(ADC0);adc_dma_mode_enable(ADC0);adc_dma_request_after_last_enable(ADC0);/* ADC calibration and reset calibration */adc_calibration_enable(ADC0);adc_software_trigger_enable(ADC0,ADC_REGULAR_CHANNEL);}voidadc1_dma_init(uint32_t addr,uint32_t number){/* ADC_DMA_channel ...
ADC0_3/10*3.3f/4096); ADC0_Flag=0; adc_config(); dma_memory_address_config(DMA0, DMA_CH0, (uint32_t)(&ADC0_Value)); dma_transfer_number_config(DMA0, DMA_CH0, 40); dma_channel_enable(DMA0, DMA_CH0); adc_software_trigger_enable(ADC0, ADC_REGULAR_CHANNEL); } delay_1ms(...