1 XT1时钟配置初始化
/*******************************************************************************
* 函数名称:XT1_Config(STATUS status)
* 功能说明:设置是否使能XT1
* 参数说明:STATUS status:是否使能XT1
* 函数返回:无
* 使用示例:XT1_Config(ENABLE); //使能XT1
********************************************************************************/
static inline void XT1_Config(STATUS status)
{
if(status != DISABLE)
{
if(UCS->XT1_OFF == BIT_SET)
{
GPIO_MultiBits_Init(P5,(GPIO_Pin_4|GPIO_Pin_5),GPI|SEL); //选用 XT1 第二功能
UCS->XT1_OFF = RESET ; // 开启 XT1
do
{
UCS->XT1_LFOFFG = RESET; // 清除XT1,CLOCK_DCO 失效标志
SFRIFG1 &= ~OFIFG; //
}while (UCS->XT1_LFOFFG == BIT_SET); //
}
}
else
{
UCS->XT1_OFF = BIT_SET ; // 关闭 XT1
}
}
2 XT2时钟配置初始化
/*******************************************************************************
* 函数名称:XT2_Config(STATUS status)
* 功能说明:设置是否使能XT2
* 参数说明:STATUS status:是否使能XT2
* 函数返回:无
* 使用示例:XT2_Config(TRUE); //使能XT2
********************************************************************************/
static inline void XT2_Config(STATUS status)
{
if(status != DISABLE)
{
if(UCS->XT2_OFF == BIT_SET)
{
GPIO_MultiBits_Init(P5,(GPIO_Pin_2|GPIO_Pin_3),GPI|SEL); //选用 CLOCK_XT2 第二功能
UCS->XT2_OFF = RESET; //开启 CLOCK_XT2
do
{
UCS->XT2_OFFG = RESET;
SFRIFG1 &= ~OFIFG;
}while (UCS->XT2_OFFG == BIT_SET);
}
}
else
{
UCS->XT2_OFF = BIT_SET ; // 关闭XT2
}
}
3 内部时钟
CLOCK_VLO,CLOCK_REFO为内部时钟源,不需要配置和初始化。
|