以下是msp430f5529的初始化系统时钟函数:

#include <msp430.h>

void initClocks(void)
{
    // 设置DCO频率为18MHz
    CSCTL0_H = CSKEY >> 8; // 解锁CS寄存器
    CSCTL1 = DCOFSEL_6; // DCO频率为24MHz
    CSCTL2 = SELA__LFXTCLK | SELS__DCOCLK | SELM__DCOCLK; // ACLK选择LFXTCLK,SMCLK和MCLK选择DCOCLK
    CSCTL3 = DIVA__1 | DIVS__4 | DIVM__1; // ACLK分频1,SMCLK分频4,MCLK分频1
    CSCTL4 &= ~LFXTOFF; // 开启LFXT振荡器
    do
    {
        CSCTL5 &= ~LFXTOFFG; // 清除LFXT振荡器故障标志
        SFRIFG1 &= ~OFIFG; // 清除振荡器故障标志
    } while (SFRIFG1 & OFIFG); // 等待振荡器稳定
}

在这个函数中,我们使用了CSCTL0_H寄存器解锁了CS寄存器,然后设置了DCO频率为18MHz。接着,我们设置了ACLK为1MHz,SMCLK为4.5MHz,MCLK为18MHz。最后,我们开启了LFXT振荡器,并等待它稳定

写出msp430f5529的初始化系统时钟函数FLLREFCLK=1MHzACLK=1MHzMCLK=18MHzSMCLK=45MHz

原文地址: http://www.cveoy.top/t/topic/eFCU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录