请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430FR2311 void initadc (void){ //配置 ADC10 ADCCTL0 |= ADCSHT_7 | ADCON; // ADC 采样保持时间= 192个周期、ADC ON 位被置位 ADCCTL1 |= ADCSHP | ADCCONSEQ_1; //采样保持脉冲模式选择、Clk = ACLK ADCCTL2 |= ADCRES; //10 -位分辨率 ADCIE |= ADCIE0; //中断使能 ADCMCTL0|= ADCINCH_0 + ADCINCH_1 + ADCINCH_3| ADCSREF_1; PMMCTL0_H = PMMPW_H; //解锁 PMM 寄存器 PMMCTL2 |= INTREFEN_0; //禁用内部基准 _DELAY_CYCLES (10); //基准趋稳延迟 } // ADC 中断服务例程 #if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__) #pragma vector=ADC_vector __interrupt void ADC_ISR (void) #Elif defined (__GNU__) void __attribute__(interrupt (interrupt (ADC_vector) #else )#error! #endif { switch (__evo_in_range (ADCIV、ADCIV_ADCIFG)) { 案例 ADCIV_NONE: 中断; ADCIV_ADCOVIFG 案例: 中断; 案例 ADCIV_ADCTOVIFG: 中断; ADCIV_ADCHIIFG 案例: 中断; ADCIV_ADCLOIFG 案例: 中断; ADCIV_ADCINIFG 案例: 中断; 案例 ADCIV_ADCIFG://通道5 ADC_SM[索引]= ADCMEM0; DONE = 0; 索引++; LOOP = 1; if (索引>=50) { 索引= 0; LOOP = 0; DONE = 1; //__BIC_SR_REGISTER_ON_EXIT (LPM0_Bits); //退出 LPM0 __no_operation(); } 中断; 默认值: 中断; } }
我正在尝试从 A0、A1和 A3获取 ADC 读数、我无法确定这与 ADC 服务例程中对应的通道。 这是我的中断例程、我的 ADC 设置为从不同的通道或同一个通道读取。 我只需要能够区分我要从哪个引脚获得它。谢谢。
工具/软件:Code Composer Studio