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();} } AD中断和通道有没有关系? 您是怎么下载程序的呀?我的没法用,老是显示NO FET
页:
[1]