打印

有没有人搞MSP430单片机的,帮忙看个ADC初始化

[复制链接]
1766|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
adibe|  楼主 | 2011-1-20 08:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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);

}

testBatVal = (ADvalue*3.3/4095)*12;  //测量12V电压

以上为初始化程序,想实现的功能如下:ADC一直处于采样状态,外部参考源,3.3v,我在TIMER_A里每隔一段时间去读ADC12MEM1里的值。现在发现根据换算后值电压测得不对,不知道是什么原因,请大家看看上面的初始化程序有没有问题?
芯片我也换过了,还是不对。

相关帖子

沙发
soicer| | 2011-1-20 15:27 | 只看该作者
ADC12CTL0 = ADC12ON + MSH;
     ADC12CTL0 = SHT0_8;
下面这句会把上面一句冲了,不知道是不是这个问题.
写成 ADC12CTL0 |= SHT0_8; 试试

使用特权

评论回复
板凳
ayb_ice| | 2011-1-20 16:03 | 只看该作者
先把模块看懂了再说吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

111

主题

275

帖子

0

粉丝