初级会员

- 积分
- 107
- 金钱
- 107
- 注册时间
- 2019-8-19
- 在线时间
- 28 小时
|
我有一个疑问,我这是单通道的ADC,如果是多通道用ADC中断单次读取ADC值的话,ADC_RecBuff[N++]=ADC_GetConversionValue(ADC1); 只能获取一个值,怎么获取其他通道的数据呢?
//不采用DMA则用ADC中断读取ADC每次结果
void ADC_IRQHandler(void)
{
static u32 N=0;
if(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)!=RESET) //等待转换结束
{
ADC_RecBuff[N++]=ADC_GetConversionValue(ADC1); //返回最近一次 ADC1 规则组的转换结果 //将读取到的数字量存入数组中
LCD_ShowxNum(134,130,ADC_RecBuff[N],4,16,0); //显示ADCC采样后的原始值
printf("ADC=%d\r\n",ADC_RecBuff[N]);
}
if(N==Buff_Size)
{
N=0;
printf("ADC_Buff is full\r\n");
//ADC_EndFlag=1;
//ADC_ITConfig(ADC1,ADC_IT_EOC,DISABLE); //采集TableSize个数据后关闭ADC中断
}
ADC_ClearITPendingBit(ADC1,ADC_FLAG_EOC); //清除中断标志位
}
|
|