微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM8S外部晶振使能

STM8S外部晶振使能

时间:12-03 来源:互联网 点击:
C语言:Codee#11718

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 实验平台: STM8S103F2P6 FM 接收实验核心板
+ 硬件 : STM8S103F2P6
+ 开发平台: IAR For STM8 1.10
+ 仿真器 : ST-Link
+ 日期 : 2010-6-22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

#include "stm8s.h"

/*******************************************************************************
* ==启用外部晶振函数==
* CLK_DeInit(); --> 时钟各变量初始化
* CLK_HSECmd(ENABLE); --> 外部高速晶振使能
* while(SET != CLK_GetFlagStatus(CLK_FLAG_HSERDY)); --> 测试外部高速晶振位是不是使能
* CLK_SYSCLKConfig(CLK_PRESCALER_CPUdiv1); --> 外部时钟预分频器,1分频
* CLK_ClockSwitchCmd(ENABLE); --> 使能时钟切换功能
* CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_ENABLE);
--> 时钟切换 ( 自动切换模式 , 切换到外部高速晶振 , 禁止切换中断 , 当前钟状态为使能 )
*******************************************************************************/
voidHSE_CLK_INIT(void)
{
CLK_DeInit();
CLK_HSECmd(ENABLE);
while(SET!=CLK_GetFlagStatus(CLK_FLAG_HSERDY));
CLK_SYSCLKConfig(CLK_PRESCALER_CPUdiv1);
CLK_ClockSwitchCmd(ENABLE);
CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_ENABLE);
}
/*******************************************************************************
* ==Main函数==
* CLK_GetSYSCLKSource();
*******************************************************************************/
CLK_Source_TypeDefCLK_STATE;
voidmain(void)
{
HSE_CLK_INIT();
while(1)
{
CLK_STATE=CLK_GetSYSCLKSource();
}
}

下图是仿真的效果:

上一篇:AVR 串口使用
下一篇:STM32 之 LED

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top