简介:
转换模式(CONT位):单次/连续
- EOC/JEOC信号何时产生/清除:
- 产生:某一个通道转换成功
- 清除:由软件清除或由读取ADC_DR时清除
- 中断信号何时产生:
- 什么叫扫描模式:(SCAN位)
- 校准:
- 建议在每次上电后执行一次校准
- 启动校准前,ADC必须处于关电状态(ADON=’0’)超过至少两个ADC时钟周期
- 校准阶段结束后,校准码储存在ADC_DR中
- 一旦校准结束,CAL位被硬件复位
-
采样时间设置:
- 每个通道可以分别用不同的时间采样
- 和ADC时钟共同决定转换快慢(TCONV = 采样时间+ 12.5个周期)
- 合作:
- ADC们:多个ADC同时工作时,可以设置合作模式(设置为独立模式则互不合作)
- 规则/注入:关键在于如何管理注入组<手册11.3.9 注入通道管理>
- 通道们:
- 把通道们分成多个小组,一次触发转一组,一组一组来 135 246 125
246...(规则/注入都可以这么设置)
配置:
- 时钟:
- 时钟使能 RCC_APB2PeriphClockCmd
- 速度设置(分频)RCC_ADCCLKConfig(RCC_PCLK2_Div6); //72/6=14
MAX
- GPIO
- ADC配置 ADC_Init(ADC1, &ADC_InitStructure);
- 模式:ADC_Mode = ADC_Mode_Independent;//规则组和注入组独立
- 是否多通道:ADC_ScanConvMode = DISABLE/ENABLE;
- 是否连续转:ADC_ContinuousConvMode = DISABLE;
- 选择触发方式:ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//软件触发
- 结果对齐方式:ADC_DataAlign = ADC_DataAlign_Right;
- 通道数目:ADC_NbrOfChannel = 1;
- 使能ADC(若要开始转换还要触发信号)
- 需转换的通道设置
- ADC_RegularChannelConfig(ADC1, 通道号ADC_Channel_0-17, 该通道排位1-16,
采样时间ADC_SampleTime_239Cycles5最慢 );
- 触发信号
- 软件触发:ADC_SoftwareStartConvCmd(ADC1, ENABLE);
- 获取转换值
- u16
ADC_GetConversionValue(ADC_TypeDef* ADCx)//返回最近一次 ADCx 规则组的转换结果
多通道:
- ADC_ScanConvMode = ENABLE;
- ADC_NbrOfChannel =2;
- ADC_RegularChannelConfig(ADC1,ADC_Channel_16,1,ADC_SampleTime_239Cycles5);
- ADC_RegularChannelConfig(ADC1,ADC_Channel_17,2,ADC_SampleTime_239Cycles5);
- (DMA :ADC_DMACmd(ADC1,ENABLE);//打开和DMA的连接)

ADC,布布扣,bubuko.com
ADC
原文:http://www.cnblogs.com/2cats/p/3583122.html