历史上的今天

今天是:2024年09月29日(星期日)

正在发生

2021年09月29日 | STM8S(105K4)使用笔记——系统时钟的基础配置

发布者:温柔之风 来源: eefocus关键字:STM8S  系统时钟  基础配置 手机看文章 扫描二维码
随时随地手机看文章

0、STM8s105在系统复位后默认开启HSI,同时进行8分频


可以通过查看

寄存器CLK_ICKR为0x03(HSI使能)

寄存器CLK_CKDIVR为0x18(HSI分频为8分频)


1、初始化

使能HSI(系统初始化后HSI默认使能)

CLK->ICKR |= 0x01;


禁用HSI

CLK->ICKR &= (uint8_t)(~0x01);


使能LSI(若需要使用awu,请使能LSI)

CLK->ICKR |= 0x08;


禁用LSI

CLK->ICKR &= (uint8_t)(~0x08);


2、时钟分频

a、主时钟分频

1分频

CLK->CKDIVR &= (uint8_t)(~0x18);

CLK->CKDIVR |= (uint8_t)0x00;


2分频

CLK->CKDIVR &= (uint8_t)(~0x18);

CLK->CKDIVR |= (uint8_t)0x08;


4分频

CLK->CKDIVR &= (uint8_t)(~0x18);

CLK->CKDIVR |= (uint8_t)0x10;


8分频

CLK->CKDIVR &= (uint8_t)(~0x18);

CLK->CKDIVR |= (uint8_t)0x18;


b、CPU时钟分频(系统时钟分频)

1分频

CLK->CKDIVR &= (uint8_t)(~0x07);

CLK->CKDIVR |= (uint8_t)((uint8_t)0x80 & (uint8_t)0x07);


2分频

CLK->CKDIVR &= (uint8_t)(~0x07);

CLK->CKDIVR |= (uint8_t)((uint8_t)0x81 & (uint8_t)0x07);


4分频

CLK->CKDIVR &= (uint8_t)(~0x07);

CLK->CKDIVR |= (uint8_t)((uint8_t)0x82 & (uint8_t)0x07);


8分频

CLK->CKDIVR &= (uint8_t)(~0x07);

CLK->CKDIVR |= (uint8_t)((uint8_t)0x83 & (uint8_t)0x07);


16分频

CLK->CKDIVR &= (uint8_t)(~0x07);

CLK->CKDIVR |= (uint8_t)((uint8_t)0x84 & (uint8_t)0x07);


32分频

CLK->CKDIVR &= (uint8_t)(~0x07);

CLK->CKDIVR |= (uint8_t)((uint8_t)0x85 & (uint8_t)0x07);


64分频

CLK->CKDIVR &= (uint8_t)(~0x07);

CLK->CKDIVR |= (uint8_t)((uint8_t)0x86 & (uint8_t)0x07);


128分频

CLK->CKDIVR &= (uint8_t)(~0x07);

CLK->CKDIVR |= (uint8_t)((uint8_t)0x87 & (uint8_t)0x07);


3、初始化案例

/**

  * @brief  CLK Initialization Function

  * @param  None

  * @retval None

  * @par    HSI 16Mhz,LSI 128Khz

  */

static void _CLK_Init(void)

{

  /* Enable Internal High Speed Pscillator (HSI) for cpu & peripherals */

  CLK->ICKR |= 0x01;


  /* Enable Internal Low Speed Pscillator (LSI) for iwdg & awu */

  CLK->ICKR |= 0x08;


  /* Configure the Fmaster to DIV1 ,the default DIV of Fmaster if DIV8 */

  CLK->CKDIVR &= (uint8_t)(~0x18);

  CLK->CKDIVR |= (uint8_t)0x18;


  /* Configure the Fcpu to DIV1 */

  CLK->CKDIVR &= (uint8_t)(~0x07);

  CLK->CKDIVR |= (uint8_t)((uint8_t)0x80 & (uint8_t)0x07);

}

关键字:STM8S  系统时钟  基础配置 引用地址:STM8S(105K4)使用笔记——系统时钟的基础配置

上一篇:STM8S(105K4)使用笔记——独立看门狗IWDG的基础配置
下一篇:STM8时钟树及电源管理

推荐阅读

本实验,我们新建了 oled.c和 oled.h 文件。这两个文件用来存放OLED相关的驱动函数以及文件申明等。oled.c 的代码,由于比较长,这里我们就不贴出来了,仅介绍几个比较重要的函数。首先是 OLED_Init 函数,该函数的结构比较简单,开始是对 IO 口的初始化,这里我们用了宏定义OLED_MODE 来决定要设置的IO 口,其他就是一些初始化序列了,我们按照厂家提供的...
不知何时开始,“友商”成为了国产手机发布会上的一个高频词,和贬义词。一方面,新机的性能数据肯定统统“碾压”国外厂商,主要指苹果和三星;另一方面,时不时提及或暗讽一下国内友商的新机或理念,似乎更能体现自身的实力,已经成为发布会的国际惯例…… 随着十一黄金周的到来,9月底的手机新品发布会扎堆召开,轮番上场大秀“肌肉”。其中,最受关注...
集微网消息,随着电子设备智能化的发展,人们对智能设备的依赖越来越高。然而,日常生活中无处不在的静电给电子设备带来多样化的考验,如何进行有效的ESD防护已成为电子设备制造商面对的重要课题。 常见的ESD事件包括秋冬季节去触摸门把手时,伴随着静电响声,指尖的那一下刺痛;北方冬季脱掉外衣时噼里啪啦的静电响声;远处拖拽来的长...
#include "stm32f0xx.h"#include "stm32_lib/inc/stm32f0xx_rcc.h"#include "stm32_lib/inc/stm32f0xx_gpio.h"#include "stm32_lib/inc/stm32f0xx_usart.h"#include "stm32_lib/inc/stm32f0xx_misc.h" #include "delay.h" int main(void){ //1、使能时钟 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Per...

史海拾趣

问答坊 | AI 解惑

单片机C-51程序实例

提供单片机程序实例,如:“数据交换”,“拆字”,“数据跑马灯”,“求符号函数”等。要的支持下啊~~~~~…

查看全部问答∨

高清视频处理,用FPGA还是DSP

在视频处理中,FPG和DSP之争早就有了,考虑到量产价格的原因 ,我们老大偏向DSP,可据说FPGA做高清视频处理比 DSP效果好,各位有什么看法啊,也没机会做个比较!…

查看全部问答∨

[思考]C++不适合做大项目?

http://blog.codingnow.com/2009/12/cpp2009.html Lippman 大牛的第一场,关于大型可伸缩性的软件开发的, Chen Shuo 同学翻译的很不错 找到电源,所以可以写写了。 果然是牛人啊,上来就讲形而上的东西。我听的有趣,就做了点笔记,但是记的不 ...…

查看全部问答∨

噪音变燃料

每一滴水都饱含环保的燃料-氢,但是,怎样能把它从水里拿出来是一个挑战。利用噪音污染-例如,在主要道路上,一种新材料有了可利用的希望。威斯康星-麦迪逊大学的一个研究小组,做出了氧化锌晶体,当把它沉浸在水中时,它就会吸收振动并创建出强大 ...…

查看全部问答∨

推荐一本嵌入式系统设计的好书

前几天借到一本邱毅凌写的《现代嵌入式系统开发专案实务》,描述了一个beginner到项目经理的故事,易懂有趣,讲了很多一般软件工程书不好讲或者不敢讲的事,有志做项目领导者的朋友不妨读读。…

查看全部问答∨

WINCE下10Mbps的SPI数据流采用中断的接收工作方式(等到了中断然后一个个地读接收SFR)能不能处理的过来?难道必须用DMA工作方式吗?

WINCE下10Mbps的SPI数据流采用中断的接收工作方式(等到了中断然后一个个地读接收SFR)能不能处理的过来?难道必须用DMA工作方式吗?…

查看全部问答∨

eeworld给的分,慰劳慰劳弟兄们!(3)

eeworld给的分,慰劳慰劳弟兄们!(3) 以后咱好好干活... 我们得好好加油哈!!! 为了中国软件的明天还有,eeworld的未来!!! 呵呵…

查看全部问答∨

sql同步问题

我在VS2005和SQL2005平台上,开发mc3000应用程序,该程序在WM5上运行正常,但在mc3000上同步数据有问题,如下: string SQL        = ""; SqlCeConnection cn; SqlCeCommand cmd; SqlCeRemoteDataAccess RDA = null; ...…

查看全部问答∨

关于select()函数的问题

原程序:#include <fcntl.h>#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <time.h>int main(){        int fds[2]; & ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved