adc_external_trigger_config(ADC0, ADC_INSERTED_CHANNEL, ENABLE); /* clear the ADC flag */ adc_interrupt_flag_clear(ADC0, ADC_INT_FLAG_EOC); adc_interrupt_flag_clear(ADC0, ADC_INT_FLAG_EOIC); /* enable ADC interrupt */ adc_interrupt_enable(ADC0, ADC_INT_EOIC);//使能注入通道的中...
1、单次转换,非扫描模式 选择指定的转换通道,然后我们就可以触发转换,ADC对选定的通道进行模数转换,转换完成之后,转换结果放在数据寄存器里,同时EOC标志位置1,整个转换过程就结束了。 ─ 转换数据被储存在16位ADC_DR寄存器中 ─ EOC(转换结束)标志被设置 ─ 如果设置了EOCIE,则产生中断。 2、连续转换,非扫描模式 ...
ADC_SoftwareStartConvCmd( ADC1,ENABLE);//使能ADC1软件触发转换,触发一次ADC转换 while(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC) == 0);//等待ADC转换完毕 temp = ADC_GetConversionValue( ADC1);//获取转换结果,注意此时已经自动清除EOC位 ADC_SoftwareStartConvCmd( ADC1,DISABLE);//失能ADC转换 return tem...
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));/* clear the end of conversion flag */adc_flag_clear(ADC_FLAG_EOC);/* return regular...
while(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)==0);//等待转换结束 Adc_Value=ADC_GetConversionValue(ADC1)*3.30/4096; return Adc_Value; } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 使用函数ADC_SoftwareStartConvCmd()启动AD转换,接下来要等待转换结束,通过EOC标志位来判断转换是否结束。EOC标志位在ADC...
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC )); //等待转换结束 return ADC_GetConversionValue(ADC1); //返回常规通道的最后一个ADC1转换结果数据 } u16 Get_Adc_Average(u8 ch,u8 times) { u32 temp_val=0; u8 t; for(t=0;t<times;t++) ...
while (ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC) == RESET);//获取标志位状态函数;标志位=RESET时,转换未完成,=SET时,转换完成,跳出循环; return ADC_GetConversionValue(ADC1); //ADC获取转换值; } main.c #include "stm32f10x.h" // Device header ...
external trigger enable */ adc_external_trigger_config(ADC0, ADC_INSERTED_CHANNEL, ENABLE);/* clear the ADC flag */ adc_interrupt_flag_clear(ADC0, ADC_INT_FLAG_EOC); adc_interrupt_flag_clear(ADC0, ADC_INT_FLAG_EOIC); /* enable ADC interrupt */adc_interrupt_enable(ADC0, ADC_INT_...
if(adc_interrupt_flag_get(ADC0,ADC_INT_FLAG_EOC)) { adc_interrupt_flag_clear(ADC0,ADC_INT_FLAG_EOC);// 清除ADC规则组转换结束中断标志 adc_convertedValue=adc_regular_data_read(ADC0);// 读取ADC数据 } } 1. 2. 3. 4. 5. 6.
ADC_SoftwareStartConvCmd(ADC1, ENABLE);// 使能指定的ADC1的软件转换启动功能while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));// 等待转换结束temp_val+=ADC_GetConversionValue(ADC1); delay_ms(5); }returntemp_val/times; } 六、实战项目 ...