丁文明 发表于 2014-7-24 15:34:35

msp430f5529AD多通道转化无法跳出中断

进入AD之后无法跳出AD服务中断函数,请教各位大神指教!谢谢,以下是代码:/*************************************************************************** 函数名称:main** 工作环境: IAR 5.22 ** 相关文件:** 修改日志:功能: AD转换多通道多次转换*************************************************************************/#define   Num_of_Results   32static unsigned int resultss;                                 // 转换值存取变量volatile long temp;volatile long IntDegC;void main(void){   unsigned int i;WDTCTL = WDTPW+WDTHOLD;                                       // 关闭看门狗UCSCTL4 = SELM__DCOCLK + SELS__DCOCLK;                        // 选择时钟源P6DIR &= ~(BIT2 + BIT3 + BIT4);                                 // 选择6.2,6.3,6.4口为输入端口P6SEL |= (BIT2 + BIT3 + BIT4);                                  // P6口第二功能ADC12CTL2 = ADC12RES_2 + ADC12REFOUT;                           // AD基本配置ADC12CTL0 = ADC12ON + ADC12MSC + ADC12SHT03 + ADC12REFON + ADC12REF2_5V;                                          //ADC12MCTL10 |= ADC12SREF_0 + ADC12INCH_10;                     // 采样温度ADC12MCTL2 |= ADC12SREF_0 + ADC12INCH_2;                        //采样6.2端口数据输入ADC12MCTL4 |= ADC12SREF_0 + ADC12INCH_4 + ADC12EOS;             //   采样6.4端口数据输入ADC12CTL1 = ADC12SHP + ADC12CONSEQ_3;                           // 选择转换模式                  for (i=0;i<0xFFFF;i++);                                       // 等待基准电压建立                        UCSCTL8 |= MODOSCREQEN;    ADC12IE |= 0X08;                                                // 使能通道4中断ADC12CTL0 |= ADC12ENC;                                          // 开启转换_EINT();                                                         // 打开总中断ADC12CTL0 |= ADC12SC;                                           // 转换开始// while (!(ADC12IFG & BIT0));//display1(sj);//LPM3;                                                         // 进入低功耗3}/*************************************************************************** 函数名称:AD转换中断函数** 工作环境: IAR 5.22** 功能:   保存转换值** 相关文件:** 修改日志:*************************************************************************/#pragma vector = ADC12_VECTOR__interrupt void ADC12ISR(void){static uint index = 0;resultss = ADC12MEM2;               // Move resultsif(index == Num_of_Results)                        uchar i;      unsigned long sum = 0;      index = 0;      for(i = 0; i < Num_of_Results; i++)      {            sum += resultss;      }      sum >>= 5;         Trans_val(sum);         delay1(200);      //ADC12CTL0 &= ~ADC12ENC;      //ADC12CTL0 &= ~ADC12ON;         //_DINT();}         }

黄金田 发表于 2014-7-24 15:40:55

AD中断和通道有没有关系?

包艳华 发表于 2014-7-24 15:42:08

您是怎么下载程序的呀?我的没法用,老是显示NO FET
页: [1]
查看完整版本: msp430f5529AD多通道转化无法跳出中断