你好!
我有一个需要使用 MSP430FG4617的 ADC 的应用。
问题是、我没有所需的稳定性。 我有一个焊接了 uC 的 PCB、我将在没有其他组件或模块的情况下对其进行测试。
作为 ADC 的输入信号、我使用 A0通道(P6.0)、该通道连接到20k 电位计
调试程序并定位 ADC 的存储器寄存器时、我注意到每次迭代中的值以1、2、最大5位(十个字节跳转)的形式变化。
有趣的是、我用测试仪来确定 AO 信号的电压、它是稳定的、变化仅为0.1mV。 我尝试使用100nF 电容器对信号进行滤波、结果是相同的。
该计划如下:
void main (void)
{
WDTCTL = WDTPW + WDTHOLD;//停止看门狗
FLL_CTL0 |= XCAP18PF;
P6SEL |= 0x01; //启用 A/D 通道 A0
ADC12CTL0 = REFON + REF2_5V + ADC12ON + SHT0_2; //打开2.5V 基准、设置 SAMP 时间
ADC12CTL1 = SHP; //使用采样计时器
ADC12MCTL0 = SREF_1;// VR+=Vref+
对于(I = 0x3600;I;I-); //所需参考启动的延迟。
//有关详细信息,请参阅数据表。
ADC12CTL0 |= ENC; //启用转换
ADC12CTL0 |= ADC12SC; //开始转换
while (!(ADC12IFG & 0x0001)); //转换完成?
__no_operation(); //在此处设置断点
while (1);
}
有什么提示吗??
谢谢!
此致、
佩德罗。