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.

[参考译文] MSP430F1611:ADC12单通道单会话模式

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/671733/msp430f1611-adc12-single-channel-single-conversation-mode

器件型号:MSP430F1611

大家好、

我对 ADC12单通道单次对话模式有疑问。 我无法读取 A1、A2、A3…… 只能在选择单通道模式时读取 A0、我无法配置它。 Accualy 我不想使用中断服务,启动转换,等待它们完成并保存结果。 但首先需要读取 A1、A2、A3…… 单通道单次对话。 这是我的代码;  

int main (void)
{
P6SEL |= 0x02; // P6.1 ADC 选项选择
WDTCTL = WDTPW + WDTHOLD; //停止 WDT
ADC12CTL0 = SHT0_2 + ADC12ON +ENC+CSTARTADD_1; //设置采样时间,打开 ADC12
ADC12CTL1 = SHP; //使用采样定时器
ADC12MCTL1 = INCH_1;
ADC12IE = 0x02; //启用中断
ADC12CTL0 |= ADC12SC; //在

(1){
ADC12CTL0 |= ADC12SC;
}


#pragma vector=ADC12_vector
__interrupt void ADC12_ISR (void)
{
Int A;
A = ADC12MEM1;
} 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    o 我明白了、我解决了这个问题。 在我写这个问题之后,我很容易解决自己的问题:O
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ahmet、

    您能否为论坛上可能遇到类似问题的其他人详细阐述解决方案?

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

    当然:)。  

    我用于单通道单次会话模式的代码;

    #include 
    
    /*用于选择输入的 ADC12MCTL0寄存器 ADC 引脚存储器如果
    将调试点置于 IF 状态,则始终写入 ADC12MEM0 *
    / int main (void)
    {
    P6SEL |= 0xB67; // ADC 选项选择
    WDTCTL = WDTPW + WDTHOLD; //停止 WDT
    ADC12CTL0 = SHT0_8 + ADC12ON; //设置采样时间,打开 ADC12
    ADC12CTL1 = SHP; //使用采样定时器
    ADC12MCTL0 = INCH_5+EOS; // u 可以更改 inch_7//inch_0//inch_4//inch_2//inch_1
    //ADC12IE = 0x01; //启用中断
    ADC12CTL0 |= ENC; //开始转换
    ADC12CTL0 |= ADC12SC; //开始转换
    __ENABLE_INTERRUPT ();
    while (1){
    if (ADC12CTL1 & ADC12BUSY){
    //ADC12CTL0 |= ADC12SC; //开始转换
    __no_operation();
    }
    }