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/MSP430FR5969:ADC12_B:差动模式:代码未进入 ISR:请报告任何更改

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/586222/ccs-msp430fr5969-adc12_b-differential-mode-code-is-not-entering-into-isr-please-report-any-changes

器件型号:MSP430FR5969

工具/软件:Code Composer Studio

#include "driverlib.h"
uint32_t 值= 0;
void GPIO_init();
void adc_init();
int main (空)

WDT_A_HOLD (WDT_A_base);
PMM_unlockLPM5 ();

GPIO_init();
adc_init();
while (1)

_delay_cycles (5000);


ADC12_B_startConversion (ADC12_B_base、ADC12_B_MEMORY_0、ADC12_B_SINGLECHANNEL);

_bis_SR_register (LPM0_bits + GIE);// LPM0、ADC12_B_ISR 将强制退出
__no_operation();//用于调试器


void GPIO_init()

GPIO_setPeripheralModuleFunctionOutputPin (GPIO_PORT_P2、GPIO_PIN4、GPIO_ternary_MODULE_Function);
GPIO_setPeripheralModuleFunctionOutputPin (GPIO_PORT_P4、GPIO_PIN2、GPIO_secondary 模块功能);

void adc_init()

ADC12_B_initParam initParam ={0};
initParam.sampleHoldSignalSourceSelect = ADC12_B_SAMPLEHOLDSOURCE_SC;
initParam.clockSourceSelect = ADC12_B_CLOCKSOURCE_SMCLK;
initParam.clockSourceDivider = ADC12_B_CLOCKDIVIDER_1;
initParam.clockSourcePredivider = ADC12_B_CLOCKPREDIVIDER__1;
initParam.internalChannelMap = ADC12_B_NOINTCH;
ADC12_B_init (ADC12_B_B_base、&initParam);

//启用 ADC12B 模块
ADC12_B_ENABLE (ADC12_B_B_BASE);

ADC12_B_setupSamplingTimer (ADC12_B_BASE、ADC12_B_CYCLEHOLD_16_CYCLES、ADC12_B_CYCLEHOLD_4_CYCLLES、ADC12_B_MULTIPLESAMPLESDISABLE);


ADC12_B_configureMemoryParam configureMemoryParam ={0};
configureMemoryParam.memoryBufferControlIndex = ADC12_B_MEMORY_0;
//configureMemoryParam.inputSourceSelect = ADC12_B_INPUT_A7;
configureMemoryParam.inputSourceSelect=ADC12_B_INPUT_A7;
configureMemoryParam.refVoltageSourceSelect =
ADC12_B_VREFPS_AVCC_VREFNEG_VSS;
configureMemoryParam.endOfSequence = ADC12_B_NOTENDOSEQUENCE;
configureMemoryParam.windowComparatorSelect =
ADC12_B_WINDOW_Comparator_DISABLE;
configureMemoryParam.特色 模式选择=
ADC12_B_different_mode_enable;
ADC12_B_configureMemory (ADC12_B_base、&configureMemoryParam);


ADC12_B_configureMemoryParam configureMemoryParam2 ={0};
configureMemoryParam.memoryBufferControlIndex = ADC12_B_MEMORY_0;
//configureMemoryParam.inputSourceSelect = ADC12_B_INPUT_A7;
configureMemoryParam2.inputSourceSelect=ADC12_B_INPUT_A10;
configureMemoryParam2.refVoltageSourceSelect =
ADC12_B_VREFPS_AVCC_VREFNEG_VSS;
configureMemoryParam2.endOfSequence = ADC12_B_NOTENDOSEQUENCE;
configureMemoryParam2.windowComparatorSelect =
ADC12_B_WINDOW_Comparator_DISABLE;
configureMemoryParam2.特色 模式选择=
ADC12_B_different_mode_enable;
ADC12_B_configureMemory (ADC12_B_base、&configureMemoryParam2);

ADC12_B_clearInterrupt (ADC12_B_B_base、0、ADC12_B_IFG0);

//启用存储器缓冲器0中断
ADC12_B_enableInterrupt (ADC12_B_base、ADC12_B_IE0、0、0);

#if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
#pragma vector=ADC12_vector
_interrupt
#Elif defined (_GNU_)
__attribute__((中断(ADC12_vector))
#endif
空 ADC12_ISR (空)

switch (__evo_in_range (ADC12IV、12))

情况0:中断;//向量0:无中断
情况2:中断;//向量2:ADC12BMEMx 溢出
情况4:中断;//矢量4:转换时间溢出
情况6:中断;//向量6:ADC12BHI
情况8:中断;//向量8:ADC12BLO
情况10:中断;//向量10:ADC12BIN
情况12://向量12:ADC12BMEM0中断
值= ADC12MEM0;

_BIC_SR_REGISTER_ON_EXIT (LPM0_BITS);//退出活动 CPU
中断;//从0 (SR)清除 CPUOFF 位
情况14:中断;//向量14:ADC12BMEM1
情况16:中断;//向量16:ADC12BMEM2
情况18:中断;//向量18:ADC12BMEM3
情况20:中断;//向量20:ADC12BMEM4
情况22:中断;//向量22:ADC12BMEM5
情况24:中断;//向量24:ADC12BMEM6
情况26:中断;//向量26:ADC12BMEM7
情况28:中断;//向量28:ADC12BMEM8
情况30:中断;//向量30:ADC12BMEM9
情况32:中断;//向量32:ADC12BMEM10
案例34:中断;//向量34:ADC12BMEM11
案例36:中断;//向量36:ADC12BMEM12
案例38:中断;//向量38:ADC12BMEM13
情况40:中断;//向量40:ADC12BMEM14
情况42:中断;//向量42:ADC12BMEM15
案例44:中断;//向量44:ADC12BMEM16
情况46:中断;//向量46:ADC12BMEM17
情况48:中断;//向量48:ADC12BMEM18
情况50:中断;//向量50:ADC12BMEM19
情况52:中断;//向量52:ADC12BMEM20
情况54:中断;//向量54:ADC12BMEM21
情况56:中断;//向量56:ADC12BMEM22
判例58:中断;//向量58:ADC12BMEM3
情况60:中断;//向量60:ADC12BMEM24
情况62:中断;//向量62:ADC12BMEM25
情况64:中断;//向量64:ADC12BMEM26
案例66:中断;//向量66:ADC12BMEM27
情况68:中断;//向量68:ADC12BMEM28
情况70:中断;//向量70:ADC12BMEM29
情况72:中断;//向量72:ADC12BMEM30
案例74:中断;//向量74:ADC12BMEM31
情况76:中断;//向量76:ADC12BRDY
默认值:break;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您不应具有两个存储器参数配置、P4.2的第二个模块功能在内部将引脚连接到 GND、A7/A10不是有效的差分对。 请查看系列用户指南中的 ADC12MCTLx 寄存器说明、MSP430FR5xx/6xx DriverLib 用户指南中的 ADC12 API 函数以及代码示例 msp430fr59xx_ADC12_03.c

    此致、
    Ryan