可以直接用这样使用ADC去采5V电压的AD值和OPA运放的输出的AD值吗?我这样使用得到的两个AD值都是相同的,误差只有5左右。感觉不对。
这个OPA读出来的AD值怎么算成实际值电流或者电压值
您好,注意使用ADC去采5V电压的AD值以及OPA运放输出的AD值时,MCU注意要使用5V供电,OPA运放输出的电压不要超过供电电压。ADC值转换成电压值的公式可参考下图,注意5V供电时将3.3改成5.后续若有问题,可通过邮箱(lzs@wch.cn)和我沟通。
就是说我用规则通道配置连续配置2个或以上,通道数量对应个数可以直接这样写的:
ADC_RegularChannelConfig(ADC1, ADC_Channel_7, 1, ADC_SampleTime_11Cycles);//
ADC_RegularChannelConfig(ADC1, ADC_Channel_3, 2, ADC_SampleTime_11Cycles); //
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
ADC_AutoInjectedConvCmd(ADC1, ENABLE);
ADC_Cmd(ADC1, ENABLE);
上边配置,下边读值
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)); //ADC_FLAG_EOC 转换结束状态
adc_val1 = ADC_GetConversionValue(ADC1);
val = ADC_GetConversionValue(ADC1);
这样子,adc_val1和val的值读出来都是一样的
好的,多谢