STM32在ADC测电压时遇到的问题

//用结构体配置 ADC1
    ADC_InitTypeDef ADC_InitStructure;
    ADC_DeInit(ADC1);
    ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;//数据右对齐
    ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//配置为软件触发
    ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;//独立模式(或者双模式)
    ADC_InitStructure.ADC_NbrOfChannel=1;//规则组通道数为 1
    ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;//连续转换或单次转换
    ADC_InitStructure.ADC_ScanConvMode=DISABLE;//非扫描模式
    ADC_Init(ADC1,&ADC_InitStructure);
    

// ADC1 规则组配置
    ADC_RegularChannelConfig(ADC1,ADC_Channel_6,1,ADC_SampleTime_239Cycles5);//将通道6放在规则组序列1上

在ADC转换电压值,遇到一个很奇怪的问题。如上面所示,先配置ADC1,再配置ADC1的规则组,这样测得的电压值为11.6v,很接近我用万用表测出来的值11.77v。但是,当我把这两个部分交换顺序,即先配置ADC1规则组,再用结构体配置ADC1后,测出的电压是10.3v,不知道什么原因。

希望有好心人解惑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值