关于差分模式的配置,datasheet里面介绍的很简单。我按照要求去做结果似乎和单端模式一个样,不知道是什么原因,请各位大神指教。
主要涉及到几个方面:
step 1 :ADC1->CR |= ADCALDIF; //1: Wri
ting ADCAL will launch a calibration in Differential inputs Mode.
。。。
step2:ADC1->DIFSEL |= 0x02; //DIFSEL
= 1: ADC analog input channel-i is configured in differential mode
...
step3:ADC1->JSQR = (3 << 0) //2 CONVERSIONS
| (8 << 2) //JEXTSEL: External trigger selection for injected group (JEXT8 = TIM1_TRGO2)
| (1 << 6) //01: Hardware trigger detection on the rising edge
| (2 << 8); //JSQ1: ADC_IN1
然后我会在JDR中取值,但是发现这个值和单端配置ADC模式得出的值是一样的,请问各位大神,我上面的几个关于ADC differential mode的配置有什么问题吗?
在 IN- 那里输入 1V 电压,在 IN+ 那里输入 2V 电压。这样的话,就是 1V 的压差,取回来的值,跟单端就有区别了。
我的ADCIN1 和ADCIN2两个输入端分别是一个电路的两路输出,一路电压输入在电源电压不变的情况下基本恒定为电源电压的一半,另一路输入会在这个电源电压一半的附近波动,所以我的目标是通过差分模式测量出两个输入电压之间的差异。所以从信号输入上讲不是直流电压+直流地的模式了。
按照这样的输入,我觉得,应该就是 MCU 这边初始化的问题了。
一周热门 更多>