“常用公式”在线计算,“设计手册”在线查询
进入AD之后无法跳出AD服务中断函数,请教各位大神指教!谢谢,以下是代码:/*************************************************************************** 函数名称:main** 工作环境: IAR 5.22 ** 相关文件:** 修改日志:功能: AD转换多通道多次转换*************************************************************************/#define   Num_of_Results   32static unsigned int resultss[36];                                   // 转换值存取变量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[index++] = ADC12MEM2;               // Move results  if(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();  }         }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 支持支持 反对反对

共 2 个关于本帖的回复 最后回复于 2014-7-24 15:42

沙发
黄金田 新来的 发表于 2014-7-24 15:40:55 | 只看该作者
研发埠培训中心
AD中断和通道有没有关系?
板凳
包艳华 新来的 发表于 2014-7-24 15:42:08 | 只看该作者
研发埠人才中心
您是怎么下载程序的呀?我的没法用,老是显示NO FET
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们

360网站安全检测平台