首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MSP430FR2476中的12位ADC似乎只在10位模式下工作。

MSP430FR2476中的12位ADC似乎只在10位模式下工作。
EN

Stack Overflow用户
提问于 2022-03-09 09:35:32
回答 1查看 138关注 0票数 1

问题是:我正在尝试初始化MSP430FR2476上内置的12位模数转换器,但是不管我做什么,它似乎在10位上工作。我在控制寄存器中更改分辨率位,可惜,没有效果。不管我做了什么,都不会有任何帮助,总有10块。最重要的字节永远不会超过3。请帮助,下面是代码片段:

代码语言:javascript
运行
复制
 //Configuring ADC

  PMMCTL2 |= (INTREFEN);            //Internal reference, default 1.5V
  ADCCTL0=ADCCTL1 = 0;              //Ensuring that the ADC is off
  ADCCTL0 |= (ADCSHT_7 + ADCMSC);   //sample and hold = 64clk, multiple conversion
  ADCCTL1 |= (ADCSHP + ADCSSEL_2 + ADCCONSEQ_1 + ADCDIV_7);        //Conversion is triggered 
                                   //manually, ADC clock source - SMCLK/8 ~ 2Mhz, sequence of 
                                             //channels single conversion,
  ADCCTL2 |= (ADCRES_2);         //12 bit resolution, no matter what setting I have, no change
  ADCMCTL0 |= (ADCSREF_1 + ADCINCH_1);       //Employing the internal reference and starting 
                                             //conversion from A1 (P1.1)
  ADCIE |= ADCIE0;                           //Activate interrupt
  ADCCTL0 |= (ADCON);                        //Switching ADC on
  SYSCFG2 |= (BIT1);                         //Activate ADC module on the pins (this line 
                                             //doesn't do anything for some reason

void adc_convert_begin(){
    ADCCTL0 |= ADCENC;
    ADCCTL0 |= ADCSC;           //Start conversion
      

//The interrupt simpy send the most significant byte over UART
__attribute__((interrupt(ADC_VECTOR)))
void ADC_ISR(void){
    switch(__even_in_range (ADCIV, 0x0C)){
    case 0x0C:
        adc_data[adc_index] = ADCMEM0;
        UCA1TXBUF = (unsigned char)(ADCMEM0>>8);
        break;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2022-03-13 14:29:30

这个错误恰好出现在这里:

代码语言:javascript
运行
复制
ADCCTL2 |= (ADCRES_2); 

这个想法是默认值是1,所以当我在寄存器上执行一个|=操作时,最终值是3,而不是2。我需要首先对这个位字段进行零点!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71407146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档