“线程: 测试”中讨论的其它部件
您好,
我们在基于 MSP430FR2433的设计中使用外部石英(32.768K)。 离开 LPM3或 LPM4模式后,我尝试将电流设置为石英,但我不知道何时进行。
在 SLAU445I 中:
1.4.3.4从 LPM4.5唤醒
从 LPM4.5唤醒后,请执行以下步骤:
[...]
如果从 LPM4.5唤醒后需要晶体振荡器,请配置相应的引脚,并在清除了 LOCKLPM5位后启动振荡器。
=>我明白我必须在清除 LOCKLPM5位后配置 XT1DRIVE
但是,在 CSCTL6中,注册对 XT1DRIVE 的描述:
最初,它以最高的电源电流启动,从而实现可靠,快速的启动。 如果需要,用户软件可以降低驱动器强度。
=>我知道我必须在初始化代码(如下所示)后配置 XT1DRIVE:
这些位的配置在 LPM3.5期间保留,直到清除了 LOCKLPM2,但寄存器位本身不会保留;因此,从 LPM3.5唤醒后和清除 LOCKLPM2之前需要重新配置。
=>我明白我必须先设置 XT1DRIVE,然后再清除 LOCKLPM2 5位
我尝试在清除 LOCKLPM5之前和之后对其进行配置,但我看不到时钟频率的差异(使用 Timer0时),即使我设置了最受约束的值 XT1DRIVE_0 (3.7pF 不适用于我们的硬件)。 所以我想我错过了一点,但看不到什么。
谢谢,
西尔万
注:xt1初始化代码;
//初始化 XT1 32kHz 晶体,以便 RTC 可以使用它
P2SEL0 |= quartz_32K_PINP2; //将 XT1引脚设置为第二个函数
行动
{
CSCTL7 &=~(XT1OFFG | DCOFFG); //清除 XT1和 DCO 故障标志
SFRIFG1 &=~OFIFG;
} While (SWRIFG1 & OFIFG); //测试振荡器故障标志