#include "SmartM_M4.h"
/****************************************
*函数名称:Delay
*输 入:无
*输 出:无
*功 能:软件延时
******************************************/
VOID Delay(VOID)
{
UINT32 i=0x100000;
while(i--);
}
/****************************************
*函数名称:main
*输 入:无
*输 出:无
*功 能:函数主体
******************************************/
int32_t main(void)
{
UINT32 i=0;
PROTECT_REG
(
/* 使能外部晶振时钟(12MHz) */
CLK_EnableXtalRC(CLK_PWRCTL_HXTEN_Msk);
/* 等待外部晶振时钟(12MHz) */
CLK_WaitClockReady(CLK_STATUS_HXTSTB_Msk);
/* 选择 HCLK 时钟源为外部晶振,同时 HCLK 的分频值为 1 */
CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HXT, CLK_CLKDIV0_HCLK(1));
)
/* 串口 0 波特率 115200bps */
UART0_Init(115200);
while(1)
{
PROTECT_REG
(
/* 使能外部晶振时钟(12MHz) */
CLK_EnableXtalRC(CLK_PWRCTL_HXTEN_Msk);
/* 等待外部晶振时钟(12MHz) */
CLK_WaitClockReady(CLK_STATUS_HXTSTB_Msk);
/* 选择 HCLK 时钟源为外部晶振,同时 HCLK 的分频值为 1 */
CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HXT, CLK_CLKDIV0_HCLK(1));
)
printf("当前时钟源选择为外部晶振,请查看串口打印数据速度\r\n");
i=20;
while(i--)
{
printf("www.smartmcu.com\r\n");
Delay();
}
PROTECT_REG
(
/* 使能内部高速 RC(22.1184MHz) */
CLK_EnableXtalRC(CLK_PWRCTL_HIRCEN_Msk);
/* 等待内部高速 RC(22.1184MHz) */
CLK_WaitClockReady(CLK_STATUS_HIRCSTB_Msk);
/* 选择 HCLK 时钟源为内部高速 RC,同时 HCLK 的分频值为 1 */
CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HIRC, CLK_CLKDIV0_HCLK(1));
)
printf("当前时钟源选择为内部高速 RC,请查看串口打印数据速度\r\n");
i=20;
while(i--)
{
printf("www.smartmcu.com\r\n");
Delay();
}
}
}
|