MSP430讨论区
返回
登录/注册
msp430f149 ADC12 测量电压
楼主
adibe 于 2011-01-19 16:14:16
msp430f149 ADC12 测量电压
void initADC(void)
{
ADC12CTL0 &= ~ENC;//stop a/d
ADC12CTL0 = ADC12ON + MSH;
ADC12CTL0 = SHT0_8;
ADC12CTL1 = SHP + CONSEQ_3;
ADC12MCTL0 = INCH_0;
ADC12MCTL1 = INCH_1;
ADC12MCTL2 = INCH_2 + EOS;
// ADC12IE = 0x0000;
Delay(5); //5ms
ADC12CTL0 |= ENC; // Enable conversions
ADC12CTL0 |= ADC12SC; //start conversion
Delay(5);
}
以上为初始化程序,想实现的功能如下:ADC一直处于采样状态,外部参考源,3.3v,我在TIMER_A里每隔一段时间去读ADC12MEM1里的值。现在发现根据换算后值电压测得不对,不知道是什么原因,请大家看看上面的初始化程序有没有问题?
回复
1楼
北夜星辰 于 2011-03-01 16:44:31
ADC12CTL0 = ADC12ON + MSH;
ADC12CTL0 = SHT0_8;
你怎么能这样对寄存器赋值啊?用|=,不要直接用=
因为=是直接覆盖掉前面的值的。所以前面那句话写了和没写一样,因为被后面的SHT0_8给覆盖了。
后面好几句也是这个问题。
回复
2楼
DC 于 2011-03-01 20:17:02
嗯,这点特别需要注意了。初用430者常常范的低级输入错误。
回复
1
电脑版
Page created in 0.0645 seconds width 2 queries.