电位器实际结构里面就是个滑动变阻器,PA0到PB1是ADC转换的10个通道都可以选择
参考结构图,写AD初始化函数
第一步,开启RCC时钟,包括ADC和GPIO的时钟,还需配置ADCCLK分频器的时钟(库函数在RCC里,函数是RCC_ADCCLKConfig)
第二步,配置GPIO,把需要用的GPIO配置成模拟输入的模式
第三步,配置多路开关,把左边的通道接入到右边的规则组列表里
第四步,配置ADC转换器了,在库函数里用结构体配置
第五步,如果需要用到模拟看门狗,那就用函数配置阈值和监测通道;如果想开启中断,就在中断输出控制里用ITConfig函数开启对应的中断输出;还可以用校准减小误差;在AD工作的时候,如果想要软件触发转换,也有函数触发;也有函数可以读取转换结果
ADC库函数
- void ADC_DeInit(ADC_TypeDef* ADCx);
*恢复缺省配置
- void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct);
*初始化