想输出内部参考电压2.5V
P6SEL |= 0x01; // Enable A/D channel A0
P5SEL |= 0x01;
ADC12CTL0 = ADC12ON+ADC12SHT02+ADC12REFON+ADC12REF2_5V;
ADC12CTL1 = ADC12SHP;
ADC12MCTL0 = ADC12SREF_1;
ADC12CTL2 |= ADC12REFOUT;
for ( i=0; i<0x30; i++); // Delay for reference start-up
ADC12CTL0 |= ADC12ENC; // Enable conversions
while (1)
{
ADC12CTL0 |= ADC12SC; // Start conversion
while (!(ADC12IFG & BIT0));
__no_operation(); // SET BREAKPOINT HERE
}
用示波器测端口P5.0,测得电压一直不对(测得3.1V左右),到底哪里错了?各位帮帮忙啊
Eric Wu:
顶…大虾帮忙啊
Charles Wu:
回复 Eric Wu:
代码看起来没什么问题。PCB P5.0外接电容的容值是多少?另外只是确认一下,你使用的是MSP430F5438而不是F5438A?这两颗芯片Ref是不同的。
Charles Wu:
回复 Charles Wu:
鉴于现在还无法确定是软件或是硬件问题,请设置一个断点在 __no_operation();,断点执行后在编译环境中看一下ADC12CTL0, 1, 2 以及ADC12MCTL0的具体数值。
另外还有一个办法可以帮助分析,设置ADCREF为1.5V,在用万用表量测一下,看P5.0输出的电压是多少?
TI中文支持网



