求专家帮忙M430的ADC程序,万分感谢

2019-07-15 16:34发布

[size=13.3333330154419px]1.我用的是M430F149学习板[size=13.3333330154419px]2.我用的是IAR编译环境,MSPFET烧录软件
[size=13.3333330154419px]我自己写了好久,就是写不成功,网上也找过例程了,实在是不会了,希望各位能出手帮帮我。[size=13.3333330154419px]这是我写的ADC程序,我想用外部基准电压,因为我觉得内部2.5V的电压不够。


[size=13.3333330154419px]就这个程序一直不成功,希望各位好心人指点迷津,再次感谢
void main(void)
{
  WDTCTL = WDTPW+WDTHOLD;                   // Stop watchdog timer
  Clock_Init();

  P6SEL |= 0x01;                            // Enable A/D channel A0
  ADC12CTL0 = ADC12ON+SHT0_2;               // Turn on ADC12, set sampling time
  ADC12CTL1 = SHS_0+ADC12SSEL_3 +SHP;                          // Use sampling timer
  ADC12MCTL0 = SREF_2;                      // Vr+ = VeREF+ (external)
  ADC12IE|= 0x01;
  Flag=1;                             //标志位先置1
  _EINT();
  while (1)
  {

    if(Flag==1)
    {
      ADC12CTL0 |=ENC+ADC12SC;                   // Start conversion

      Flag=0;


    }
  }
}

//*************************************************************************
// ADC中断服务程序
//*************************************************************************
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR(void)
{
  while((ADC12CTL1&0x01)==1);           //如果ADC忙,则等待,否则读取ADC转换数值

  temp=ADC12MEM0/8.19;

  Flag = 1 ;


}
求大家帮忙,谢谢



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
傲视天涯
2019-07-16 08:27
aichixihongshi 发表于 2015-7-28 16:03
在检查下你寄存器都定义好了没,查下AD的寄存器表

抱歉回的这么晚,这几天在忙着做别的题目,寄存器的设置我是把给的例程拿过来的,不应该出错啊

一周热门 更多>