This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/MSP430FR2422:MSP430FR2422

Guru**** 648580 points
Other Parts Discussed in Thread: MSP-TS430RHL20, MSP430FR2422
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/950173/ccs-msp430fr2422-msp430fr2422

器件型号:MSP-TS430RHL20
主题中讨论的其他器件:MSP430FR2422

工具/软件:Code Composer Studio

我已经配置了三通道顺序中断。 ADC 通道、如 A7、A6和 A4。  

注:

A7和 A6在顺序中断时工作。 但如果添加 A4通道。 它不起作用。 请给我建议。

注:

在这里、我已经为双通道顺序中断执行了 ALGO。 但在转换后、随机通道值存储在 ADCMEM0寄存器中。 意味着(ADC 通道 A7:)值必须在  ADC_RESULT[0]中可用、但 该第6通道值不在 ADC_RESULT[0]中。  

检查:  ADC_Result [0]= A7通道数据, ADC_Result [1]= A6通道数据,而不是 ADC_Result [0]= A6和 ADC_Result [1]= A7。 值就像这样。 请检查代码并告诉我。


void ADC_ChannelSelection ()

//SYSCFG2 |= ADCPCTL0 |ADCPCTL1 | ADCPCTL2;// P2.2、P2.4和 P2.5无端口选择仅具有通道选择
SYSCFG2 |= ADCPCTL7;
SYSCFG2 |= ADCPCTL6;
// SYSCFG2 |= ADCPCTL5;
// SYSCFG2 |= ADCPCTL4;

void ADC_Configuration (void)

//配置 ADC
ADCCTL0 |= ADCSHT_2 | ADCON;                  // 16ADCclks、ADC 打开
ADCCTL1 |= ADCSHP | ADCSSEL_2;              // ADC 时钟 MODCLK、采样定时器、TA1.1B TRIG.REPEAT 序列
ADCCTL2 |= ADCRES_1;                        // 10位转换结果
ADCMCTL0 |=ADCINCH_7;                        // A7 (EOS);Vref=3.3V
ADCIE |= ADCIE0;                             //启用 ADC 转换完成中断

void ADC_SamplingTrigger (void)

ADCCTL0 |= ADCON;
SYSCFG2 |= ADCPCTL7;
ADCMCTL0 |=ADCINCH_7;
ADCCTL0 &=~ADCENC;//ENC 低电平
ADCCTL1 |= ADCCONSEQ_3;
ADCCTL0 |= ADCENC |ADCSC;//ENC 高电平从低电平到高电平开始采样过程
SYSCFG2 &=~ADCPCTL7;
ADCCTL0 |= ADCENC;

ADCCTL0 |= ADCON;
SYSCFG2 |= ADCPCTL6;
ADCMCTL0 |=ADCINCH_6;
ADCCTL0 &=~ADCENC;//ENC 低电平
ADCCTL1 |= ADCCONSEQ_3;
ADCCTL0 |= ADCENC |ADCSC;
SYSCFG2 &=~ADCPCTL6;
ADCCTL0 &=~ADCENC;
ADCCTL0 &=~ADCON;


void adc_convertionDta (void)

//V2_TVSlekageNegative +=(float) ADC_Result [3];                          //通道0 P2.2 A4 TVS 漏电负极(V2)

V_Earth                +=(float) ADC_Result [0];            //A6 th 通道                                      //通道1 P2.4 A6接地(com)(V)
V1_TVSLeakagePositive += (float) ADC_Result [1];           //A7 TH 通道

                                                                            //通道2 P2.5 A7 TVS 泄漏正极(V1)
// DummuVoltage +=(float) ADC_Result [2];                                         //通道 p2.3 A5
//V2_TVSlekageNegative +=(float) ADC_Result [3];                          //通道0 P2.2 A4 TVS 漏电负极(V2)

count++;

if (count >= MAXCOUNT)

V2_TVSlekageNegative = V2_TVSlekageNegative / MAXCOUNT;
V_Earth = V_Earth / MAXCOUNT;
V1_TVSLeakagePositive = V1_TVSLeakagePositive / MAXCOUNT;

DummuVoltage = DummVoltage/1;
DummuVoltage1 =((DummuVoltage * ADCREF)/(BITRESOLUTION));
#if 1.
v2_negative =((V2_TVSlekageNegative * ADCREF)/(BITRESOLUTION));                     //((count * Vref)/ADCResolution)
V0_COM =((V_Earth * ADCREF)/(BITRESOLUTION));
V1_POSITIVE =((V1_TVSLEakagePositive *ADCREF)/(BITRESOLUTION));


#endif

计数= 0;
V2_TVSlekageNegative = 0;
V_Earth =0;
V1_TVSLeakagePositive = 0;
DummuVoltage =0;


#pragma vector=ADC_vector
_interrupt void ADC_ISR (void)

if (i<2)

ADC_RESULSE[i]= ADCMEM0;
i++;

其他

I=0;

//_BIC_SR_REGISTER_ON_EXIT (LPM0_Bits);

ADCCTL0 &=~ADCON;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Mutharagan,

    您能否在添加通道 A4"不工作"时提供更多详细信息? 是否确保在 ADC_ChannelSelection ()和 void ADC_SamplingTrigger ()函数中配置通道4?

    要使 ADC 通道以正确的数据读取、您能否使用递减变量而不是递增变量来读取数据、从而以正确的顺序获取数据? 如下所示:

    #pragma vector=ADC_vector
    _interrupt void ADC_ISR (void)

    if (i>0)

    ADC_RESULSE[i]= ADCMEM0;
    一----;

    其他

    I=2;

    //_BIC_SR_REGISTER_ON_EXIT (LPM0_Bits);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已经通过递减法测试了中断。 我使用的是 A7、A6和 A4等三个通道。  但只有两个通道正常工作、通道 A4不工作。  

    我已经尝试了很多方法、但无法获取3通道连续中断、请提供解决方案。 基于此、我们可以进一步开发。 轮询方法正常工作。 但项目将通过中断方法来完成

    注:

    1.在《应用指南》中,他们只给出了轮询方法的流程图。 根据图、我已经完成了轮询方法的 ADC 转换。 但对于中断、我使用的是相同的技术。  

    void ADC_ChannelSelection ()

    //SYSCFG2 |= ADCPCTL0 |ADCPCTL1 | ADCPCTL2;// P2.2、P2.4和 P2.5无端口选择仅具有通道选择
    SYSCFG2 |= ADCPCTL7;
    //SYSCFG2 |= ADCPCTL6;
    //SYSCFG2 |= ADCPCTL5;
    SYSCFG2 |= ADCPCTL4;

    void ADC_Configuration (void)

    //配置 ADC
    ADCCTL0 |= ADCSHT_2 | ADCON;// 16ADCclks、ADC 打开
    ADCCTL1 |= ADCSHP | ADCSSEL_2;// ADC 时钟 MODCLK、采样计时器、TA1.1B TRIG、重复序列
    ADCCTL1 |= ADCCONSEQ_3;
    ADCCTL2 |= ADCRES_1;// 10位转换结果
    //ADCMCTL0 |=ADCINCH_7;// A7 (EOS);Vref=3.3V
    ADCIE |= ADCIE0;//启用 ADC 转换完成中断

    //请在  下面找到许多使用的方法。 但我无法实现  ////////

    void ADC_SamplingTrigger (void)

    //1.  这是第一种方法

    开关(ADCStatus)

    案例 CHANNEL7:
    ADCCTL0 |= ADCON;
    //SYSCFG2 |= ADCPCTL7;
    ADCIE |= ADCIE0;
    // ADCCTL1 |= ADCCONSEQ_1;
    ADCMCTL0 |=ADCINCH_7;
    ADCCTL0 &=~ADCENC;//ENC 低电平
    ADCCTL0 |= ADCENC |ADCSC;//ENC 高电平从低电平到高电平开始采样过程
    //while (ADCIFG 和 ADCIFG0);
    //ADCCTL0 |= ADCENC;
    ADCCTL0 &=~ADCENC;
    ADCChannel7flag = 1;

    中断;

    案例 CHANNEL6:
    ADCCTL0 |= ADCON;
    //SYSCFG2 |= ADCPCTL6;
    ADCIE |= ADCIE0;
    //ADCCTL1 |= ADCCONSEQ_1;
    ADCMCTL0 |=ADCINCH_4;
    ADCCTL0 &=~ADCENC;                             //ENC 低电平
    ADCCTL0 |= ADCENC |ADCSC;                  //ENC 高电平从低电平到高电平启动采样过程
    //while (ADCIFG 和 ADCIFG0);
    //ADCCTL0 |= ADCENC;
    ADCCTL0 &=~ADCENC;
    ADCChannel6flag = 1;

    中断;
    案例 CHANNEL5:

    中断;

    //2. 第二种方法   
    #if 0
    ADCCTL0 |= ADCON;
    SYSCFG2 |= ADCPCTL7;
    ADCMCTL0 |=ADCINCH_7;
    ADCCTL0 &=~ADCENC;                      //ENC 低电平
    ADCCTL1 |= ADCCONSEQ_3;
    ADCCTL0 |= ADCENC |ADCSC;                  //ENC 高电平从低电平到高电平启动采样过程
    SYSCFG2 &=~ADCPCTL7;
    ADCCTL0 |= ADCENC;

    ADCCTL0 |= ADCON;
    SYSCFG2 |= ADCPCTL6;
    ADCMCTL0 |=ADCINCH_6;
    ADCCTL0 &=~ADCENC;                               //ENC 低电平
    ADCCTL1 |= ADCCONSEQ_3;
    ADCCTL0 |= ADCENC |ADCSC;
    SYSCFG2 &=~ADCPCTL6;
    ADCCTL0 &=~ADCENC;
    ADCCTL0 &=~ADCON;
    #endif
    #if 0
    ADCMCTL0 |=ADCINCH_7;
    ADCCTL0 &=~ADCENC;                 //ENC 低电平
    ADCCTL0 |= ADCENC |ADCSC;          //ENC 高电平从低电平到高电平启动采样过程
    while (ADCIFG 和 ADCIFG0);
    ADCCTL0 |= ADCENC;
    //ADCCTL0 &=~ADCENC;

    //ADCMCTL0 |=ADCINCH_6;
    ADCCTL0 &=~ADCENC;//ENC 低电平
    ADCCTL0 |= ADCENC |ADCSC;
    while (ADCIFG 和 ADCIFG0);
    ADCCTL0 |= ADCENC;
    //ADCCTL0 &=~ADCENC;

    //ADCMCTL0 |=ADCINCH_5;
    ADCCTL0 &=~ADCENC;//ENC 低电平
    ADCCTL0 |= ADCENC |ADCSC;
    // while (ADCIFG & ADCIFG0);
    ADCCTL0 &=~ADCENC;


    #endif

    #if 0
    ADCMCTL0 |=ADCINCH_7;
    ADCCTL0 &=~ADCENC;//ENC 低电平
    ADCCTL0 |= ADCENC |ADCSC;
    while (ADCIFG 和 ADCIFG0);
    ADCCTL0 |= ADCENC;
    // ADCCTL0 &=~ADCENC;

    #endif

    //根据为连续中断方法开发的流程图。 只有两个 ADC 通道工作正常。 如果我再添加一个通道、则会影响所有内容。   


    #if 0

    ADCMCTL0 |=ADCINCH_7;
    ADCCTL0 &=~ADCENC;
    ADCCTL0 |= ADCENC |ADCSC;
    while (ADCIFG 和 ADCIFG0);
    ADCCTL0 |= ADCENC;
    ADCCTL0 &=~ADCENC;

    ADCMCTL0 |=ADCINCH_6;
    ADCCTL0 &=~ADCENC;
    ADCCTL0 |= ADCENC |ADCSC;
    while (ADCIFG 和 ADCIFG0);
    //ADCCTL0 |= ADCENC;
    ADCCTL0 &= ADCENC;

    #if 0
    ADCMCTL0 |=ADCINCH_7;
    ADCCTL0 &=~ADCENC;
    ADCCTL0 |= ADCENC |ADCSC;
    while (ADCIFG 和 ADCIFG0);
    ADCCTL0 |= ADCENC;
    ADCCTL0 &=~ADCENC;

    ADCMCTL0 |=ADCINCH_6;
    ADCCTL0 &=~ADCENC;
    ADCCTL0 |= ADCENC |ADCSC;
    while (ADCIFG 和 ADCIFG0);
    //ADCCTL0 |= ADCENC;
    ADCCTL0 &=~ADCENC;

    //ISR

    #pragma vector=ADC_vector
    _interrupt void ADC_ISR (void)

    静态超长整型计数器、计数器1、计数器2;

    //使用 Switch Case 和 FLAG 概念,我正在尝试控制通道。此时只有一个通道工作正常。  

    if (ADCChannel7flag)

    ADC_Result [0]= ADCMEM0;
    ADCChannel7Count += ADC_Result [0];
    COUNTER++;
    ADCChannel7flag = 0;
    if (计数器>100)

    计数器=0;
    ADCChannel7Count = ADCChannel7Count/100;
    ADCChannel7Volt = ADCChannel7Count* 3.3/1024;
    ADCChannel7Count = 0;
    ADCStatus = CHANNEL6;
    ADCIE &=~ADCIE0;
    //SYSCFG2 &=~ADCPCTL7;
    ADCCTL0 &=~ADCON;


    否则 if (ADCChannel6flag)

    ADC_Result [1]= ADCMEM0;
    ADCChannel6Count += ADC_Result [1];
    计数器1++;
    ADCChannel6flag = 0;
    if (计数器1 >100)

    计数器1 =0;
    ADCChannel6Count = ADCChannel6Count/100;
    ADCChannel6Volt = ADCChannel6Count* 3.3/1024;
    ADCChannel6Count = 0;
    ADCStatus = CHANNEL7;
    ADCIE &=~ADCIE0;
    //SYSCFG2 &=~ADCPCTL6;
    ADCCTL0 &=~ADCON;


    //使用此方法。 两个通道工作正常。 如果我添加两个以上的通道、则无法获得该值。  

    #if 0
    if (i>0)

    ADC_RESULSE[i]= ADCMEM0;
    一----;

    其他

    I=3;

    #endif

    //_BIC_SR_REGISTER_ON_EXIT (LPM0_Bits);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    器件型号:MSP-TS430RHL20

    工具/软件:Code Composer Studio

    • 尊敬的先生:

      Pease 查看以下有关 MSP430FR2422面临问题的详细信息。  

      注:考试代码由 Texas 提供。 它仅工作 A2、A1和 A0通道。 但问题是、如果我要使用 A7。 A6 和 A4序列中断不工作。 根据 《MSP430FR2X 系列指南》(ADC 轮询方法流程图)、我尝试了很多方法。  

      我已经通过递减法测试了中断。 我使用的是 A7、A6和 A4等三个通道。  但只有两个通道工作正常、通道 A4不工作。  

      我已经尝试了很多方法、但无法获取3通道连续中断、请提供解决方案。 基于此、我们可以进一步开发。 轮询方法正常工作。 但项目将通过中断方法来完成

      注:

      1.在《应用指南》中,他们只给出了轮询方法的流程图。 根据图、我已经完成了轮询方法的 ADC 转换。 但对于中断、我使用的是相同的技术。  

      void ADC_ChannelSelection ()

      //SYSCFG2 |= ADCPCTL0 |ADCPCTL1 | ADCPCTL2;// P2.2、P2.4和 P2.5无端口选择仅具有通道选择
      SYSCFG2 |= ADCPCTL7;
      //SYSCFG2 |= ADCPCTL6;
      //SYSCFG2 |= ADCPCTL5;
      SYSCFG2 |= ADCPCTL4;

      void ADC_Configuration (void)

      //配置 ADC
      ADCCTL0 |= ADCSHT_2 | ADCON;// 16ADCclks、ADC 打开
      ADCCTL1 |= ADCSHP | ADCSSEL_2;// ADC 时钟 MODCLK、采样计时器、TA1.1B TRIG、重复序列
      ADCCTL1 |= ADCCONSEQ_3;
      ADCCTL2 |= ADCRES_1;// 10位转换结果
      //ADCMCTL0 |=ADCINCH_7;// A7 (EOS);Vref=3.3V
      ADCIE |= ADCIE0;//启用 ADC 转换完成中断

      //请在  下面找到许多使用的方法。 但我无法实现  ////////

      void ADC_SamplingTrigger (void)

      //1.  这是第一种方法

      开关(ADCStatus)

      案例 CHANNEL7:
      ADCCTL0 |= ADCON;
      //SYSCFG2 |= ADCPCTL7;
      ADCIE |= ADCIE0;
      // ADCCTL1 |= ADCCONSEQ_1;
      ADCMCTL0 |=ADCINCH_7;
      ADCCTL0 &=~ADCENC;//ENC 低电平
      ADCCTL0 |= ADCENC |ADCSC;//ENC 高电平从低电平到高电平开始采样过程
      //while (ADCIFG 和 ADCIFG0);
      //ADCCTL0 |= ADCENC;
      ADCCTL0 &=~ADCENC;
      ADCChannel7flag = 1;

      中断;

      案例 CHANNEL6:
      ADCCTL0 |= ADCON;
      //SYSCFG2 |= ADCPCTL6;
      ADCIE |= ADCIE0;
      //ADCCTL1 |= ADCCONSEQ_1;
      ADCMCTL0 |=ADCINCH_4;
      ADCCTL0 &=~ADCENC;                             //ENC 低电平
      ADCCTL0 |= ADCENC |ADCSC;                  //ENC 高电平从低电平到高电平启动采样过程
      //while (ADCIFG 和 ADCIFG0);
      //ADCCTL0 |= ADCENC;
      ADCCTL0 &=~ADCENC;
      ADCChannel6flag = 1;

      中断;
      案例 CHANNEL5:

      中断;

      //2. 第二种方法   
      #if 0
      ADCCTL0 |= ADCON;
      SYSCFG2 |= ADCPCTL7;
      ADCMCTL0 |=ADCINCH_7;
      ADCCTL0 &=~ADCENC;                      //ENC 低电平
      ADCCTL1 |= ADCCONSEQ_3;
      ADCCTL0 |= ADCENC |ADCSC;                  //ENC 高电平从低电平到高电平启动采样过程
      SYSCFG2 &=~ADCPCTL7;
      ADCCTL0 |= ADCENC;

      ADCCTL0 |= ADCON;
      SYSCFG2 |= ADCPCTL6;
      ADCMCTL0 |=ADCINCH_6;
      ADCCTL0 &=~ADCENC;                               //ENC 低电平
      ADCCTL1 |= ADCCONSEQ_3;
      ADCCTL0 |= ADCENC |ADCSC;
      SYSCFG2 &=~ADCPCTL6;
      ADCCTL0 &=~ADCENC;
      ADCCTL0 &=~ADCON;
      #endif
      #if 0
      ADCMCTL0 |=ADCINCH_7;
      ADCCTL0 &=~ADCENC;                 //ENC 低电平
      ADCCTL0 |= ADCENC |ADCSC;          //ENC 高电平从低电平到高电平启动采样过程
      while (ADCIFG 和 ADCIFG0);
      ADCCTL0 |= ADCENC;
      //ADCCTL0 &=~ADCENC;

      //ADCMCTL0 |=ADCINCH_6;
      ADCCTL0 &=~ADCENC;//ENC 低电平
      ADCCTL0 |= ADCENC |ADCSC;
      while (ADCIFG 和 ADCIFG0);
      ADCCTL0 |= ADCENC;
      //ADCCTL0 &=~ADCENC;

      //ADCMCTL0 |=ADCINCH_5;
      ADCCTL0 &=~ADCENC;//ENC 低电平
      ADCCTL0 |= ADCENC |ADCSC;
      // while (ADCIFG & ADCIFG0);
      ADCCTL0 &=~ADCENC;


      #endif

      #if 0
      ADCMCTL0 |=ADCINCH_7;
      ADCCTL0 &=~ADCENC;//ENC 低电平
      ADCCTL0 |= ADCENC |ADCSC;
      while (ADCIFG 和 ADCIFG0);
      ADCCTL0 |= ADCENC;
      // ADCCTL0 &=~ADCENC;

      #endif

      //根据为连续中断方法开发的流程图。 只有两个 ADC 通道工作正常。 如果我再添加一个通道、则会影响所有内容。   


      #if 0

      ADCMCTL0 |=ADCINCH_7;
      ADCCTL0 &=~ADCENC;
      ADCCTL0 |= ADCENC |ADCSC;
      while (ADCIFG 和 ADCIFG0);
      ADCCTL0 |= ADCENC;
      ADCCTL0 &=~ADCENC;

      ADCMCTL0 |=ADCINCH_6;
      ADCCTL0 &=~ADCENC;
      ADCCTL0 |= ADCENC |ADCSC;
      while (ADCIFG 和 ADCIFG0);
      //ADCCTL0 |= ADCENC;
      ADCCTL0 &= ADCENC;

      #if 0
      ADCMCTL0 |=ADCINCH_7;
      ADCCTL0 &=~ADCENC;
      ADCCTL0 |= ADCENC |ADCSC;
      while (ADCIFG 和 ADCIFG0);
      ADCCTL0 |= ADCENC;
      ADCCTL0 &=~ADCENC;

      ADCMCTL0 |=ADCINCH_6;
      ADCCTL0 &=~ADCENC;
      ADCCTL0 |= ADCENC |ADCSC;
      while (ADCIFG 和 ADCIFG0);
      //ADCCTL0 |= ADCENC;
      ADCCTL0 &=~ADCENC;

      //ISR

      #pragma vector=ADC_vector
      _interrupt void ADC_ISR (void)

      静态超长整型计数器、计数器1、计数器2;

      //使用 Switch Case 和 FLAG 概念,我正在尝试控制通道。此时只有一个通道工作正常。  

      if (ADCChannel7flag)

      ADC_Result [0]= ADCMEM0;
      ADCChannel7Count += ADC_Result [0];
      COUNTER++;
      ADCChannel7flag = 0;
      if (计数器>100)

      计数器=0;
      ADCChannel7Count = ADCChannel7Count/100;
      ADCChannel7Volt = ADCChannel7Count* 3.3/1024;
      ADCChannel7Count = 0;
      ADCStatus = CHANNEL6;
      ADCIE &=~ADCIE0;
      //SYSCFG2 &=~ADCPCTL7;
      ADCCTL0 &=~ADCON;


      否则 if (ADCChannel6flag)

      ADC_Result [1]= ADCMEM0;
      ADCChannel6Count += ADC_Result [1];
      计数器1++;
      ADCChannel6flag = 0;
      if (计数器1 >100)

      计数器1 =0;
      ADCChannel6Count = ADCChannel6Count/100;
      ADCChannel6Volt = ADCChannel6Count* 3.3/1024;
      ADCChannel6Count = 0;
      ADCStatus = CHANNEL7;
      ADCIE &=~ADCIE0;
      //SYSCFG2 &=~ADCPCTL6;
      ADCCTL0 &=~ADCON;


      //使用此方法。 两个通道工作正常。 如果我添加两个以上的通道、则无法获得该值。  

      #if 0
      if (i>0)

      ADC_RESULSE[i]= ADCMEM0;
      一----;

      其他

      I=3;

      #endif

      //_BIC_SR_REGISTER_ON_EXIT (LPM0_Bits);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    FR2 ADC 序列从 ADCINCH 向下计数到 A0、在您的情况下为 A7->A0。 [参考用户指南(SLAU445I)、图21-16]

    当 ADCINCH=2时、如示例所示、这是 A2->A0、这非常简单。 在您的情况下、您需要在通道到达时挑选所需的通道结果。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Mutharagan,

    在深入研究用户指南(第 21.2.7.4节)之后、当使用 重复通道序列模式(ADCCONSEQ_3)时、该序列从所选通道 ADCINCHx 开始、递减到通道 A0。 因此、当在 ISR 中递增原始代码时、您需要确保以正确的计数读取 ADCMEM0以读取 A7、A6和 A4。  

    我有一个 E2E 主题、可能会有所帮助: e2e.ti.com/.../279076

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此主题与此主题类似:

    https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/950609/3513069#3513069

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此主题与此主题类似:

    https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/950173/3514696