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 条评论
登录 后参与评论

相关文章

来自专栏LinkedBear的个人空间

设计模式笔记(六)——观察者模式 原

定义对象间的一种一对多的依赖关系,让多个观察者同时监听某一个主题现象,当一个对象的状态发生改变时,会通知所有观察者对象,所有依赖于它的对象都得到通知并被自动更新...

601
来自专栏Java技术栈

MySQL数据库开发的 36 条军规!

来自一线的实战经验,主要针对DBA和后端开发人员,总是在灾难发生后,才想起容灾的重要性;总是在吃过亏后,才记得曾经有人提醒过。文末是详细的视频讲解和PDF下载。...

785
来自专栏技术小讲堂

LINQ to SQL(2):生成对象模型

在LINQ to SQL中,可以使用自己的编程语言的对象模型映射到关系数据库,在上一节课,已经有一部分内容,简单的介绍了一下这种对象模型的结构,这一节,我们主要...

2564
来自专栏Jed的技术阶梯

Java设计模式之多例模式

在介绍单例模式的时候,我们举的例子是皇帝,同一时期只能有一个皇帝,详情请看:Java设计模式之单例模式,但在个别情况下,同一时期还有两位皇帝!这种情况就出现在明...

511
来自专栏数据和云

Delphi 程序错误写法造成Oracle数据库负载异常

作者介绍 ? 张洪涛 富士康 DBA 注意:本文涉及的问题在9i的环境中测试的,经验证,同样适用于11g. 在用Toad的SGA Trace工具监控我们的Or...

2726
来自专栏数据结构与算法

UOJ#386. 【UNR #3】鸽子固定器(链表)

如果我们按$s$排序后,我们就可以枚举$max  \ s_i$和$min \ s_i$

501
来自专栏有刻

Java 小记 - 时间的处理与探究

时间的处理与日期的格式转换几乎是所有应用的基础职能之一,几乎所有的语言都会为其提供基础类库。作为曾经 .NET 的重度使用者,赖其优雅的语法,特别是可扩展方法这...

1465
来自专栏jeremy的技术点滴

《Network Programming with Go》阅读重点备忘(一)

2887
来自专栏wannshan(javaer,RPC)

dubbo集群容错策略的代码分析3

接上篇 https://cloud.tencent.com/developer/article/1109591 dubbo 版本2.5.3 通过代码可以看到fa...

3368
来自专栏深度学习之tensorflow实战篇

计算机常用算法对照表整理

常用对照: NLP CRF算法: 中文名称条件随机场算法,外文名称conditional random field algorithm,是一种数学算法,是2...

3535

扫码关注云+社区