写出msp430f5529的初始化系统时钟函数FLLREFCLK=1MHzACLK=1MHzMCLK=18MHzSMCLK=45MHz
以下是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振荡器,并等待它稳定
原文地址: http://www.cveoy.top/t/topic/eFCU 著作权归作者所有。请勿转载和采集!