准备电赛——CCSMSP430F5529标准库——系统时钟初始化25MHZ

void SystemClock_Init(void)
{
    PMM_setVCore(PMM_CORE_LEVEL_3);     //高主频工作需要较高的核心电压

    //XT1引脚复用
    GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P5, GPIO_PIN4);
    GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_P5, GPIO_PIN5);

    //起振XT1
    UCS_turnOnLFXT1(UCS_XT1_DRIVE_3,UCS_XCAP_3);

    //XT2引脚复用
    GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P5, GPIO_PIN2);
    GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_P5, GPIO_PIN3);

    //起振XT2
    UCS_turnOnXT2(UCS_XT2_DRIVE_4MHZ_8MHZ);

    //XT2作为FLL参考时钟,先8分频,再50倍频 4MHz / 8 * 50 = 25MHz
    UCS_initClockSignal(UCS_FLLREF, UCS_XT2CLK_SELECT, UCS_CLOCK_DIVIDER_8);
    UCS_initFLLSettle(25000, 50);

    //XT1作为ACLK时钟源 = 32768Hz
    UCS_initClockSignal(UCS_ACLK, UCS_XT1CLK_SELECT, UCS_CLOCK_DIVIDER_1);

    //DCOCLK作为MCLK时钟源 = 25MHz
    UCS_initClockSignal(UCS_MCLK, UCS_DCOCLK_SELECT, UCS_CLOCK_DIVIDER_1);

    //DCOCLK作为SMCLK时钟源 = 25MHz
    UCS_initClockSignal(UCS_SMCLK, UCS_DCOCLK_SELECT, UCS_CLOCK_DIVIDER_1);

    //设置外部时钟源的频率,使得在调用UCS_getMCLK, UCS_getSMCLK 或 UCS_getACLK时可得到正确值
    UCS_setExternalClockSource(32768, 4000000);
}

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个示例程序,用于将MSP430F5529微控制器的系统时钟频率更改为25MHz: ```c #include <msp430.h> void main(void) { WDTCTL = WDTPW | WDTHOLD; // 停用看门狗定时器 // 配置DCO频率为25MHz UCSCTL3 |= SELREF_2; // 选择REFOCLK作为DCO的参考频率 UCSCTL4 |= SELA_2; // 选择REFOCLK作为ACLK的时钟源 UCSCTL0 = 0x0000; // 清零UCSCTL0寄存器 UCSCTL1 = DCORSEL_5; // 设置DCO的频率范围为25MHz UCSCTL2 = FLLD_0 + 762; // 设置DCO的分频器和乘法器以得到25MHz的频率 // 等待DCO稳定 do { UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); SFRIFG1 &= ~OFIFG; } while (SFRIFG1 & OFIFG); // 配置其他相关设置 UCSCTL5 |= DIVA_0; // 设置ACLK分频为1 // 启用中断 __enable_interrupt(); // 你的程序代码... while (1) { // 主循环代码... } } ``` 请注意,MSP430F5529微控制器具有不同的时钟系统和寄存器配置与其他型号的MSP430微控制器略有不同。在该示例程序中,我们使用了UCSCTL3、UCSCTL4、UCSCTL0、UCSCTL1和UCSCTL2寄存器来配置时钟系统,并选择了REFOCLK作为DCO的参考频率和ACLK的时钟源。通过调整UCSCTL1和UCSCTL2寄存器的设置,我们将DCO的频率设置为25MHz。 请根据您的具体MSP430F5529微控制器和开发环境进行适当的修改。在程序的主循环中,您可以添加您自己的应用程序代码。 请注意,对于其他MSP430型号,寄存器名称和配置选项可能会有所不同。因此,在编写实际应用程序时,建议参考相关的MSP430系列微控制器的参考手册或数据手册,以获取更准确和详细的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值