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.

[参考译文] MSP430F2618:处理器时钟设置问题。

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1336521/msp430f2618-processor-clock-setting-problem

器件型号:MSP430F2618

大家好。

我想使用低频晶体振荡器 LFXT1/ACLK 作为主处理器时钟 MCLK 的源。

处理器在启动时默认为数字控制振荡器 DCO、 并且会将更改编码为 LFXT1/ACLK。

但我无法将 MCK 设置为 ACLK、即使系列参考手册说可以完成、但它仍然保持与 DCO 的连接。

我已经学习了基本时钟模块+一章、并对各种设置进行了实验、但运气不好。

以下是我认为应该有效的设置。

状态寄存器 SR = 0x004A

DCOCTL = 0x00

BCSCTL1 = 0x80

BCSCTL2 = 0xF6 (自上一个帖子以来已更正)

BCSCTL3 = 0x0C

寄存器设置相互影响、我将忽略一些基本的设置也不会感到惊讶。

请帮助。

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

    SELM 和 DIVM 的位在 BCSCTL2中。 您选择了 XT2并除以8。

    我必须对其进行解码、因为您没有使用标题中定义的方便易用的符号。 您想要的是 SELM_3 | DIVM_0。 假设您想要除以1、我想不出有任何充分的理由去做。 实际上、我想不出一个为 MCLK 使用 XT1的好理由。

    通常的做法是将 DCO 用于 MCLK、并将大部分时间都处于低功耗模式。 以 LPM3为例。 在发生中断时唤醒、并在返回低功耗模式之前执行所需操作。

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

    谢谢大卫。

    不幸的是,我的帖子中的一个错误已经浪费了你和我的一些时间。  

    我已经尝试将 BCSCTL2设置为0xF6 -来自 ACLK 的 MCLK、现在分频器无关紧要。

    即 SELM_3 (感谢您有关标头定义的提示)。

    我刚刚重试过、DCO 仍在占用主时钟。

    因此、我的设置是:

    状态寄存器 SR = 0x004A

    DCOCTL = 0x00

    BCSCTL1 = 0x80

    BCSCTL2 = 0xF6  

    BCSCTL3 = 0x0C

    根据我对手册的阅读、这应该可以正常工作、但不能。

    "实际上、我想不出一个为 MCLK 使用 XT1的好理由。"

    我不必使用 LFXT1、DCO 会在启动时提供我需要的低功耗性能、但是我的应用程序中有用于带手表晶体的实时时钟功能的代码、我会尽可能使用它。

    此致。

    简体中文

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

    使用 LPM3保持实时时钟微不足道、因此也不需要从 LFXT1提供 MCLK。

    您是否已阅读关于设置 MCLK 来自晶体的指南5.2.7.1? 以及前面有关失效防护运行的部分。 在该策略中指出、如果 OFIFG 置1、即使设置了 SELM、MCLK 也将来自 DCO。

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

    好的。 它现在已分类。 时钟源之间的交互和 响应 OFIFG 的自主操作使我跳闸。

    感谢你的帮助。