STM8S——Clock control(CLK)

1、主时钟源

  有四种时钟源可以用做主时钟:

(1)1-24MHz高速外部晶体振荡器(HSE)

(2)最大24MHz高速外部时钟信号(HSE user-ext)

(3)16MHz高速内部RC振荡器(HSI)

(4)128KHz低速内部RC(LSI)

  各个时钟源可以单独打开或关闭,从而优化功耗。我们采用HSI。为了使系统快速启动,复位后时钟控制器会自动使用HSI的8分频(HSI/8)作为主时钟;原因是HSI的稳定时间短,而8分频可保证系统在较差的VDD条件下安全启动。

2、时钟输出功能(CCO)

  可以配置时钟输出功能使用户可以在外部管脚CCO上输出指定的时钟,可选CCO时钟的信号有6种:fHSE、fHSI、fHSIDIV、fLSI、fMASTER、fCPU(可选分频值)。

  设置步骤:首先应该选择设置输出模式;然后需要指定I/O引脚,我们默认的引脚为PE0,所以只需要将两者绑定起来就可以了;最后打开时钟输出使能。

3、实现代码

 1 /* Includes ------------------------------------------------------------------*/
 2 #include "stm8s.h"
 3 
 4 /* Private function prototypes -----------------------------------------------*/
 5 static void CLK_Config(void);
 6 
 7 /**
 8   * @brief Example  main entry point.
 9   * @param  None
10   * @retval None
11   */
12 void main(void)
13 {
14   
15   // Clock configuration
16   CLK_Config();
17   
18   enableInterrupts();
19   
20   // configures the Switch from one clock to another
21   CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSI, DISABLE, CLK_CURRENTCLOCKSTATE_DISABLE);
22   
23   // Connect LSI to COO pin , CLK_CCO--PE0
24   GPIO_Init(GPIOE, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST);
25   
26   // Enables the Configurable Clock Output (CCO)
27   CLK_CCOCmd(ENABLE);  
28   
29   /* --- to see if 8mhz is output at CCo pin --- */
30   
31   /* ------------------------------------------- */
32 }
33 
34 /**
35   * @brief  Configure system clock to run at 16Mhz and output the system clock on
36   *         CCO pin
37   * @param  None
38   * @retval None
39   */
40 static void CLK_Config(void)
41 {
42   CLK_DeInit();
43   
44   /* Clock divider to HSI/1 */
45   CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
46   
47   /* Output Fcpu on CLK_CCO pin */
48   CLK_CCOConfig(CLK_OUTPUT_MASTER);
49 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏王大锤

SDWebImage源码阅读-第一篇

42712
来自专栏『不羁阁』行走的少年专栏

iOS网络--HTTP请求HTTP请求

1657
来自专栏谈补锅

UIApplication

1、UIApplication对象是应用程序的象征,每一个应用都有自己的UIApplication对象,而且是单列的

973
来自专栏DannyHoo的专栏

单独设置UIView的坐标x或y或width或height

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

721
来自专栏DannyHoo的专栏

POST上传各种数据类型(包括图片)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

2342
来自专栏非典型技术宅

iOS四大对象之UIApplication对象1. 获取2. 创建联网指示器3. 设置app右上角小图标的数字4. 打电话、发短信、上网5. 判断系统版本

1275
来自专栏高性能分布式系统设计

怎样判断iPhone/iPad是越狱的

对开发者来说,越狱机盗版开发者的成果是一个灾难。 下面介绍一个方法来检测: 破解程序会在 Info.plist 加入 SignerIdentity 这个 KEY...

2835
来自专栏码生

RN ReactNative 使用 MJRefresh 自定义刷新组件

RN 自带的 RefreshControl 是 UIRefreshControl,并且还自己写了自动偏移,存在有时不能回弹和不可以自定义视图的问题

1664
来自专栏DannyHoo的专栏

在最顶层窗口添加一个视图

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

932
来自专栏清墨_iOS分享

dispatch_group_async

需求:有5个任务,前面4个都是不耗时的,执行顺序无要求,第5个任务得在前4个任务都完成后执行。 实现这样的需求,办法可以参照https://www.jiansh...

3596

扫码关注云+社区