UCSCTL7中出现 XT1LFOFFG 故障
在开始时、我认为我应该得到它、因为"在一个 PUC 后、UCS 模块的默认配置为:
•LF 模式下的 XT1被选为 XT1CLK 的振荡源。 XT1CLK 被选为 ACLK "
因此、我预计会出现故障、
那么、我使用将 ACLK 设置为 REFO
UCS_initClockSignal (UCS_ACLK、UCS_REFOCLK_select、UCS_Clock_divider);
并使用 UCS_TurnOffXT1关闭 XT1 ();
然后我尝试清除该标志:
如果(UCSCTL7和 XT1LFOFFG)//如果 XTL LF 模式被置位清零,那么这将被禁用
{
UCSCTL7 &=~XT1LFOFFG;//将其清零
}
和 XT1LFOFFG 百分比。
它说
| XT1振荡器故障标志(LF 模式)。 如果该位被置位、OFIFG 标志也被置位。 如果存在一个 XT1故障条件、XT1LFOFFG 被置位。 XT1LFOFFG 可以被清零 通过软件。 如果 XT1故障条件仍然存在、XT1LFOFFG 被置位。 0b =在最后一次复位后没有发生故障条件。 1b = XT1故障(LF 模式)。 在最后一次复位后发生 XT1故障。 |
如果它关闭并且 ACLK 在 REFO 中为32768Hz
SMCLK 和 MCLK 是 7、372、800 Hz、将 REFO 用作 DCO FLL 的输入、为什么会出现故障?
void CLK_Init (void)
{
uint16_t status;
//我认为一切完成后、时钟为:
//使用 REFO 时、ACLK = 32768Hz
//使用 REFO 时、MCLK = 7、372800 Hz
//从 REFO 时、SMCLK = 7、372800 Hz
//设置 DCO FLL 基准= REFO
//任何外部晶振
(SCSR)_OFF; //确保 FLL 已打开。
UCS_initClockSignal (UCS_FLLREF、
UCS_REFOCLK_SELECT、
UCS 时钟分频器1);
//设置 ACLK = REFO
UCS_initClockSignal (UCS_ACLK、
UCS_REFOCLK_SELECT、
UCS 时钟分频器1);
UCS_initClockSignal (UCS_SMCLK、
UCS_DCOCLKDIV_SELECT、
UCS 时钟分频器1);
//设置比率和所需的 MCLK 频率并初始化 DCO
UCS_initFLSettle (7373、// kHz
225);// 7372.8/32.768 = 225
//在此模式下、我们的频率低于8MHz、因此我们可以让 PMMCOREV0 = 1.8V
//现在频率更低、我们可以设置电压。
状态= PMM_setVCore (PMM_CORE_LEVEL_0);
在(1)期间、如果(状态= STATUS_FAIL);//我们有问题。 调试时、在此处停止。
//pMM_enableSvsHSvmH ();//在此模式下,我们有高侧,所以打开。
//pMM_enableSvsLSvmL ();//我们需要在此模式下启用低侧。
//PMM_enableSvsLReset ();//我们永远不会看到低电压事件
UCS_TurnOffXT1 ();//如果
(UCSCTL7和 XT1LFOFFG)确保外部32.768kHz 晶体关闭//如果 XTL LF 模式被置位,则将其清除,这将被禁用
{
UCSCTL7 &=~XT1LFOFFG;//将其清除
}
UCS_TurnOffXT2 ();//确保外部14.7456MHz 晶振关闭
//验证时钟设置是否如预期
的时钟值[0]= UCS_getMCLK ();
clockValue[1]= UCS_getSMCLK ();
clockValue[2]= UCS_getACLK ();
T1Enable_Port ();
dDebug_7 (if);turnit_thock 值(dprint)
返回;
}
