实例一:内部高速时钟切换
并可在CCO引脚上检测切换后的时钟信号。(红色部分)
#include "stm8s.h"
//*************************************************
// MAIN
//*************************************************
void main(void)
{
//1。系统时钟切换配置
// 自动切换 内部高速时钟 关闭切换中断
CLK_ClockSwitchConfig (CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSI, DISABLE,
切换后关闭当前的时钟状态
CLK_CURRENTCLOCKSTATE_DISABLE);
//2。配置内部高速时钟
// 一分频
CLK_HSIPrescalerConfig( CLK_PRESCALER_HSIDIV1);
//3。配置系统时钟分频器
// 内部高速振荡器 1 分频
CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);
//4。配置时钟输出脚(CCO)的时钟源
// CPU时钟 1 分频
CLK_CCOConfig(CLK_OUTPUT_CPU);
//5。启用时钟输出
CLK_CCOCmd(ENABLE);
//6。设置PD0为高速推挽输出高电平
GPIO_Init(GPIOD, 0b00000001, GPIO_MODE_OUT_PP_HIGH_FAST);
//7。输出0到PD口
GPIO_Write(GPIOD, 0);
while(1) // Main loop
{
//PD0取反
GPIO_WriteReverse(GPIOD, GPIO_PIN_0);
}
}
#ifdef USE_FULL_ASSERT
void assert_failed(u8* file, u32 line)
{
while (1) { }
}
#endif
文章评论(0条评论)
登录后参与讨论