工具与软件:
您好!
我将使用 msp430f6779A 控制器、并使用 emlib 和使用计量 GUI TI 工具生成的代码。 所有时钟初始化与生成的代码相同。 当我进行看门狗复位时、我的控制器不会通电。 我已经通过在所有初始化之前将引脚变为高电平进行测试、以测试代码是否卡在时钟初始化的 while 循环中。 有时控制器通电但10位 ADC (这种情况是在我将时钟切换到 MCLK 时、ADC 10为 ACLK、但 ADC 10位开始工作时)和24位 Σ-Δ ADC 不起作用、但如果我给上电复位、所有这些问题都会得到解决。 请提供帮助。
我附加用于时钟初始化(32.7698kHz 晶体上没有外部电容器)和10位 ADC 初始化的代码。

时钟初始化:-
mclkFreq = 25165824;
static void hal_system_ClockInit(uint32_t mclkFreq)
{
PMM_setVCore(PMM_CORE_LEVEL_3);
UCS_turnOnLFXT1(UCS_XT1_DRIVE_0, UCS_XCAP_0);
UCS_initClockSignal(
UCS_FLLREF,
UCS_XT1CLK_SELECT,
UCS_CLOCK_DIVIDER_1);
UCS_initClockSignal(
UCS_ACLK,
UCS_XT1CLK_SELECT,
UCS_CLOCK_DIVIDER_1);
UCS_initFLLSettle(
mclkFreq/1000,
mclkFreq/32768);
}
ADC 10 初始化:-
ADC10_A_init(ADC10_A_BASE,
ADC10_A_SAMPLEHOLDSOURCE_SC,
ADC10_A_CLOCKSOURCE_MCLK,
ADC10_A_CLOCKDIVIDER_2);
ADC10_A_enable(ADC10_A_BASE);
/*
* Base Address for the ADC10_A Module
* Sample/hold for 16 clock cycles
* Enable Multiple Sampling
*/
ADC10_A_setupSamplingTimer(ADC10_A_BASE,
ADC10_A_CYCLEHOLD_16_CYCLES,
ADC10_A_MULTIPLESAMPLESENABLE);
//Configure Memory Buffer
/*
* Base Address for the ADC10_A Module
* Use input A3
* Use positive reference of AVcc
* Use negative reference of AVss
*/
ADC10_A_setResolution(ADC10_A_BASE,
ADC10_A_RESOLUTION_10BIT);
ADC10_A_configureMemory(ADC10_A_BASE,
ADC10_A_INPUT_A3,
ADC10_A_VREFPOS_AVCC,
ADC10_A_VREFNEG_AVSS);