在driver_adc.c中定义了开启中断的函数ADC_int_enable。 C /*ADC中断使能函数*/ void ADC_int_enable(typdef_adc_ch_general *ADC) { /*规则组中断使能*/ if(ADC->adc_channel_group == ADC_REGULAR_CHANNEL) { adc_interrupt_enable(ADC->adc_port,ADC_INT_EOC); adc_interrupt_flag_clear(ADC->adc...
/* ADC conversion flag */ while(ADC_GetFlagStatus(ADC1, ADC_IT_EOC) == 0); /* Clears the adc's pending flags */ ADC_ClearFlag(ADC1, ADC_IT_EOC); /* Get the sampling value of ADC PA0 channel 0 */ ADC_Channel_Samp_Value[0] = ADC1->ADDR0; /* Get the sampling value of ...
转换完成指示:在ADC模块中,当模拟信号转换为数字值的过程完成后,EOC信号会被置为高电平或设置为一个...
*/intmain(void){floatadc_convertedValueLocal;uint32_tadc_convertedValue;//systick initsysTick_init();//usart init 115200 8-N-1com_init(COM1,115200,0,1);//adc initadc_init(A0);while(1) {adc_software_trigger_enable(ADC0, ADC_REGULAR_CHANNEL);while(!adc_flag_get(ADC0,ADC_FLAG_EOC)...
EOC(转换结束)标志被置位。 如果设置了 EOCIE 位,则产生中断。 (2)注入通道转换完成中断 转换数据被存储在 16 位的 ADC_DRJx 寄存器中。 JEOC(注入转换结束)标志被置位。 如果设置了 JEOCIE 位,则产生中断。 (3)模拟看门狗中断如果开启了模拟看门狗中断,并且设置ADC低阈值ADC_LTR和高阈值ADC_HTR, 当采集...
the extra conversion */67ADCCON3=adctemp;6869/* Wait for the conversion to be done */70while(!(ADCCON1&HAL_ADC_EOC));7172/* Disable channel after done conversion */73ADCCFG&=(adcChannel^0xFF);7475/* Read the result */76reading=(int16)(ADCL);77reading|=(int16)(ADCH<<8);...
unsigned int adcPtr; if(ADC_GetITStatus(ADC1,ADC_IT_EOC) ==SET) //检查指定的ADC中断是否发生 { adcPtr=ADC_GetConversionValue(ADC1); //读取ADC1转换值 ADC_Buf[ADC_BufCnt++]=adcPtr; //将读取的ADC1转换值存入指定数组 if(ADC_BufCnt==NUMSAMP) //指定数量的ADC1信息采集结束 ...
EALLOW;AdcRegs.ADCCTL1.bit.INTPULSEPOS=1;//脉冲发生ADC结果锁存到其结果寄存器前1个周期AdcRegs.INTSEL1N2.bit.INT1E=1;//使能 ADCINT1AdcRegs.INTSEL1N2.bit.INT1CONT=0;//关闭 ADCINT1 连续模式AdcRegs.INTSEL1N2.bit.INT1SEL=2;//设置 EOC2 触发 ADCINT1AdcRegs.ADCSOC0CTL.bit.CHSEL=4;/...
uint16_tAD_GetValue(void){ADC_SoftwareStartConvCmd(ADC1,ENABLE);while(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)==RESET);returnADC_GetConversionValue(ADC1);} 主程序: intmain(){OLED_Init();AD_Init();OLED_ShowString(1,1,"AD0:");OLED_ShowString(2,1,"AD1:");OLED_ShowString(3,1,"AD2:"...
从ADCx_INT0-ADCx_INT15对应三个ADC的16个外部通道,进行模拟信号转换此外,还有两个内部通道:温度检测或者内部电压检测选择对应通道之后,便会选择对应GPIO引脚,相关的引脚定义和描述可在开发板的数据手册里找 3注入通道,规则通道 我们看到,在选择了ADC的相关通道引脚之后,在模拟至数字转换器中有两个通道,注入通道,...