您好,
在我们的项目中,我们希望从12位ADC切换到16位ADC。 但是,我在从ADCRESULT获取16位值时遇到了一些问题。
在软件中,我发现变化发生在2个函数调用中:
- ADC_setMode()需要将参数从ADC_Resolution 12位更改为*_16BIT,并将ADC_MODE_SINGLE_END_ENDLED更改为ADC_MODE_DIFFERENTIAL。
ADC_setupSOC()需要更改采集周期,且通道已从ADC_CH_ADCIN0“更改”到ADC_CH_ADCIN0_ADCIN1。
在硬件中,更改包括连接:
ADCIN0至信号0-3V
ADCIN1至信号1.5V静态
VSSA至GND
VREFLE至GND
VREFHI至3.00V (参考)
在ADCRESULT0中,我仍在读取我们以前12位设置的典型值(在空闲时,值大约为2048,这意味着我仍在读取12位结果)。 我认为我的软件设置出现问题,而不是硬件连接出现问题(我的预期值约为3.2768万)。
我检查了上面提到的两个函数所接触的寄存器值,ADCCTL2.SIGNALMODE确实已更改为1,“解决方案”字段也已更改为1。 ADCSOC0CTL中的CHSEL为ADCIN0_ADCIN1正确设置为0。
我知道根据我的描述很难判断出什么可能是错误的,但您是否知道我可以进行一些测试来验证AD转换输出的比特率是否正确?
谢谢你
Jiri
