请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430G2553 我在浏览 MSP430x2xx 系列用户文档、并尝试做一些有关时钟系统的笔记。 我认为如果有经验的人仔细检查他们、并确认我实际上不会误解/误解任何内容、我会感觉更好。 此外、如果这些注释可以帮助其他人开始使用 MPS430、请随意使用它们:
主时钟(MCLK)-用于 CPU、 -可来自:DCO、LFXT1、VLO
子主时钟(SMCLK)-用于外设、 -可来自:DCO、LFXT1、VLO
辅助时钟(ACLK)-用于外设、 -可来自:LFXT1、VLO
BCSCTL1 -基本时钟系统控制1 (负责辅助 时钟(ACLK)
使用 DIV_0.... DIVA_3来将频率除以1、2、4和8。 在某些 MCU 模型中、XTS 位用于 LFXT1模式选择。
当 XTS 位被复位时、低频模式被选择、当它被置位时、高频模式被选择。
注意:MSP430G2553现在不支持设置这个位(XTS)。
BCSCTL2 -基本时钟系统控制2 (负责主时钟和子主时钟(MCLK))
使用 SELM_0和 SELM_1 (从 DCOCLK 获取)、SELM_2和 SELM_3 (用于 VLOCLK 或 LFXTCLK)
使用 DIVM_0.... DIVM_3 (用于 MCLK)将频率除以1、2、4和8。
使用 DIVS_0.... DIVS_3 (对于 SMCLK)将频率除以1、2、4和8。
BCSCTL3 -基本时钟系统控制3 (负责外部振荡器(LFXT1)
使用 LFXT1S_0 (用于外部晶振)、LFXT1S_1 (保留)、LFXT1S_2 (用于 VLO)、LFXT1S_3 (用于数字输入信号)。
XCAP 外部晶体振荡器的内部电容器可从1pF、6pF、10pF 或12.5pF 中进行选择。
IE1 -中断使能寄存器
IFG1 -中断标志寄存器
因此、让我们考虑一个用例:(假设)我要为使用 MCLK 作为其 CPU 和内部 DCO 源的应用设置 MCU、SMCLK 也应来自 DCO。 我会选择 BCSCTL2 (参考用户指南)
BCSCTL2 = SELM_2 + DIVM_0 +//跳过 SELS */ DIVS_0;//跳过 DCOR*// SELM_2 -->从 DCOCLK 中选择 src // DIVM_0 --- >将 freq 除以1 (请参阅 DIVM_x 标头选项) //跳过 SELS、因为默认情况下位设置为0、这意味着 SMCLK 默认将从 DCOCLK 中 src、还是应该使用 RSEL0? // DCOR 不适用(对于 MSP430G2553)这是正确的吗??
现在、我是否还需要(因为 DCOCLK 已被引用至少两次)设置为(之前) BCS+、或者我是否可以将其放在 BCSCTL2语句之后?
DCOCTL = CAL_DCO_1MHz;
这两行应将时钟系统设置为我需要的值、对吧?
