请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430FR6877 主题中讨论的其他器件:MSP430WARE
您好!
我在 A8上使用 ADC 输入、工作正常(我正在为此配置 mem0)。
但我在 A12上有另一个 ADC 输入、当我尝试使用与工作的 ADC 相同的配置(使用 MEM1)时、中断没有出现。
有人可以帮助吗?
代码如下所示:
1- P9.4/A12初始化
GPIO_setPeripheralModuleFunctionOutputPin (GPIO_PORT_P9、GPIO_PIN4、GPIO_ternary_MODULE_Function);
2- ADC 初始化
/* * ADC12B 模块的基地址 *使用内部 ADC12B 位作为采样/保持信号来开始转换 *使用 MODOSC 5MHZ 数字振荡器作为时钟源 *使用默认的时钟分频器/预分频器1 *不使用内部通道 * ADC12_B_initParam initParam ={0}; initParam.sampleHoldSignalSourceSelect = ADC12_B_SAMPLEHOLDSOURCE_SC; initParam.clockSourceSelect = ADC12_B_CLOCKSOURCE_ADC12OSC; 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); /* * ADC12B 模块的基地址 *对于内存缓冲区0-7采样/保持、持续64个时钟周期 *对于内存缓冲区8-15采样/保持、持续4个时钟周期(默认) *禁用多路采样 * ADC12_B_setupSamplingTimer (ADC12_B_BASE、 ADC12_B_CYCLEHOLD_16_CYCLES、 ADC12_B_CYCLEHOLD_4_CYCLES、 ADC12_B_MULTIPLESAMPLESDISABLE);
3- A12/MEM1初始化
//为 A12上的阀门电流感测配置存储器缓冲器(端口引脚9.4) ADC12_B_configureMemoryParam configureMemoryParam2 ={0}; configureMemoryParam2.memoryBufferControlIndex = ADC12_B_MEMORY_1; configureMemoryParam2.inputSourceSelect = ADC12_B_INPUT_A12; configureMemoryParam2.refVoltageSourceSelect = ADC12_B_VREFPS_AVCC_VREFNEG_VSS; configureMemoryParam2.endOfSequence = ADC12_B_NOTENDOSEQUENCE; configureMemoryParam2.windowComparatorSelect = ADC12_B_Window_Comparator_disable; configureMemoryParam2.differialModeSelect = ADC12_B_different_mode_disable; ADC12_B_configureMemory (ADC12_B_base、&configureMemoryParam2); ADC12_B_clearInterrupt (ADC12_B_BASE、 0、 ADC12_B_IFG1 ); //启用存储器缓冲器1中断 ADC12_B_enableInterrupt (ADC12_B_base、 ADC12_B_IE1、 0、 0);