MSP430F149 ADC12输出一直是0x0FFF

2019-08-07 16:39发布

本帖最后由 arm菜鸟人 于 2013-12-10 16:47 编辑

使用MSP430F149ADC12,输出一直是0x0FFF。很郁闷,大家帮找茬,看问题出在哪里。不胜感激。
void ADC12_Init(void)
{
    volatile unsigned int i;
   
    P6SEL |= 0x01;                            // Enable A/D channel A0
    P6DIR &= ~BIT0;  // 设置P6.0为输入
   
    ADC12CTL0 &= ~ENC;
   
    ADC12CTL0 = ADC12ON+SHT0_2+REFON+REF2_5V; // Turn on and set up ADC12
    ADC12CTL1 = SHP;                          // Use sampling timer
   
    ADC12MCTL1 = SREF_1 + INCH_0;             // Vr+=Vref+
   
    for ( i=0; i<0x3600; i++)                 // Delay for reference start-up
    {
   
    }
   
    ADC12CTL0 |= ENC;                         // Enable conversions
}

/****************************************************************************************
函数名称: ADC12_Convert(void)
功    能: ADC12 启动函数
参    数: 无
返回值  : 无
说明    :
****************************************************************************************/
unsigned int ADC12_Convert(void)
{
    unsigned int temp = 0;
   
    ADC12CTL0 |= ADC12SC;     // ADC12SC 启动模式
   while ((ADC12IFG & BIT0) == 0);    // 等待ADC 完成

   
    temp = ADC12MEM0;                                            
   
    return temp;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
arm菜鸟人
1楼-- · 2019-08-07 20:17
 精彩回答 2  元偷偷看……
arm菜鸟人
2楼-- · 2019-08-08 00:10
这是串口调试的截图。发送 03 01 0D 采集指令,启动AD转换。0xxx0 0xxx1(AD数据) 0xAA(帧结束符)
arm菜鸟人
3楼-- · 2019-08-08 05:44
还有一个重要线索,把AD输入调节为0V,输出仍然是0X0FFF
dirtwillfly
4楼-- · 2019-08-08 08:18
楼主,你的电路有没有问题?
arm菜鸟人
5楼-- · 2019-08-08 09:24
dirtwillfly 发表于 2013-12-9 22:28
楼主,你的电路有没有问题?

开发板。应该没问题。
不过不知道AD有没有挂掉。
我换到P6.1试试。
arm菜鸟人
6楼-- · 2019-08-08 12:10
 精彩回答 2  元偷偷看……

一周热门 更多>