MSP430F5529 系统时钟初始化函数详解
MSP430F5529 系统时钟初始化函数
以下是 MSP430F5529 初始化系统时钟的函数示例:
#include <msp430.h>
void initClock(void) {
// 设置 DCO 频率
CSCTL0_H = CSKEY_H; // 解锁 CS 寄存器
CSCTL1 = DCOFSEL_0; // 选择 DCO 频率为 1MHz
CSCTL2 = SELA__LFXTCLK | SELS__DCOCLK | SELM__DCOCLK; // 选择时钟源为 LFXTCLK,SMCLK 和 MCLK 源为 DCOCLK
CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1; // 设置时钟分频器,分频因子为 1
CSCTL0_H = 0; // 锁定 CS 寄存器
}
该函数使用了 MSP430 的 CS 寄存器来设置时钟源和分频器,具体步骤如下:
- 解锁 CS 寄存器,以便对其进行修改。
- 选择 DCO 频率为 1MHz。
- 选择时钟源为 LFXTCLK(外部低频晶振),SMCLK 和 MCLK 源为 DCOCLK(DCO 频率)。
- 设置时钟分频器,分频因子为 1。
- 锁定 CS 寄存器,以防止意外修改。
这样,MSP430F5529 的系统时钟就被初始化为 1MHz 的 DCO 频率,同时使用外部低频晶振作为时钟源。
原文地址: https://www.cveoy.top/t/topic/gQVG 著作权归作者所有。请勿转载和采集!