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.

[参考译文] MSP430FR2433:如何在使用外部石英时设置 XT1DRIVE?

Guru**** 2540720 points
Other Parts Discussed in Thread: MSP430FR2433

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1078082/msp430fr2433-how-to-set-xt1drive-when-using-an-external-quartz

部件号:MSP430FR2433
“线程: 测试”中讨论的其它部件

您好,

我们在基于 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);         //测试振荡器故障标志

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

    你好 Sylvain,

    您是否使用了 LPM3和 LPM4模式或 LPM3.5和 LPM4.5模式?  

    最大的区别是,在 LPMx.5模式下,核心关闭,因此寄存器没有电源,因此所有这些设置都将丢失,并在从 LPMx.5中退出时重置。 从 LPMx 中出来。5就像一个 BOR 发生了。 此时,就像第一次打开设备一样。 如果您想让 RTC 保持运行(LPM3.5),从而需要在 XT1上保持稳定,那么这将变得很棘手。  

    登记册中的注释针对的是首次醒来的典型情况。

    要在唤醒表 LPM3.5后正确设置设备,请按照 设备用户指南第1.4.3.3节唤醒表 LPM3.5中概述的顺序操作。  

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

    您好,很抱歉迟到了答案,紧急情况下我们要处理另一个项目... :(

    我确实在不同模式之间犯了一个错误,我不使用 LPMX.5模式。

    此致,
    西尔万