stm8 时钟切换;

 /************************************ 时钟设置 ************************************/
// 时钟 0:内部高速 1:内部低速 2:外部 3:保留
void set_System_clock(char clock_mode){
// set CPUDIV
CLK_CKDIVR &= 0xf8;CLK_CKDIVR |= 0x00; // 设置 CPUDIV 不分频
switch(clock_mode){
case :{ // set HSI
CLK_CKDIVR &= 0xe7;CLK_CKDIVR |= 0x00; // 设置 HSIDIV 不分频
}break;
case :{ // set LSI
CLK_ICKR |= MASK_CLK_ICKR_LSIEN; /* 打开内部低速时钟源 */
while(CLK_ICKR_LSIRDY == ); /* 等待时钟源信号稳定,稳定后CLK_ICKR_LSIRDY置位 */
CLK_SWCR = MASK_CLK_SWCR_SWEN; /* 转换使能,采用自动转换方式 */
CLK_SWR = 0xD2; /* 选择内部低速时钟源 */
while(!(CLK_SWCR & 0x08)); /* 切换完成后,SWIF置位 */
}break;
case :{ // set HSE
CLK_ECKR |= MASK_CLK_ECKR_HSEEN; /* 打开外部高速时钟源 */
while(CLK_ECKR_HSERDY == ); /* 等待时钟源信号稳定,稳定后CLK_ECKR_HSERDY置位 */
CLK_SWCR = MASK_CLK_SWCR_SWEN; /* 转换使能,采用自动转换方式 */
CLK_SWR = 0xB4; /* 选择外部高速时钟源 */
while(!(CLK_SWCR & 0x08)); /* 切换完成后,SWIF置位 */
}break;
case :{ // 保留
;
}break;
default:break;
}
}

单片机成长之路(stm8基础篇)- 025 stm8 时钟切换的更多相关文章

  1. 单片机成长之路(51基础篇) - 015 关于sdcc的多文件编译范例二

    本文是续 单片机成长之路(51基础篇) - 009 关于sdcc的多文件编译范例(一)编写的. 在实际的工作中,单片机的头文件和功能函数不可能同全部放在同一个文件夹下面,我们把单片机成长之路(51基础 ...

  2. 单片机成长之路(51基础篇) - 009 关于sdcc的多文件编译范例(一)

    本文是续 单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境编写的. 本范例主要由(main.c ,delay.h,delay.c,makefile)4个文件组成,s ...

  3. (转)Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...

  4. Sass进阶之路,之一(基础篇)

    Sass 学习Sass之前,应该要知道css预处理器这个东西,css预处理器是什么呢? Css预处理器定义了一种新的语言将Css作为目标生成文件,然后开发者就只要使用这种语言进行编码工作了.预处理器通 ...

  5. python成长之路第三篇(1)_初识函数

    目录: 函数 为什么要使用函数 什么是函数 函数的返回值 文档化函数 函数传参数 文件操作(二) 1.文件操作的步骤 2.文件的内置方法 函数: 一.为什么要使用函数 在日常写代码中,我们会发现有很多 ...

  6. C++自学成长之路(第一篇)

    今天开始我将开启C++自学成长之路,今天是第一天,在以前就一直在网上查找关于c++的资料,想买一本好一点的,权威一点的资料书,通过努力查找,我选择了c++ primer,在网上这本书的好评如潮.更多的 ...

  7. 单片机成长之路(51基础篇) - 008 C51 的标示符和关键字

    标准 C 语言定义了 32 个关键字,如下表(ANSI C的32个关键字): C51在此基础上针对单片机功能进行了扩展,详情见下表(C51编译器扩充关键字): C 51的数据类型 51单片机使用的C语 ...

  8. 单片机成长之路(51基础篇) - 022 N76e003 APROM模拟EEPROM驱动

    N76e003单片机内部没有EEPROM,但是可以使用 APROM模拟EEPROM功能,代码如下: eeprom.h #ifndef _EEPROM_H_ #define _EEPROM_H_ //E ...

  9. 单片机成长之路(51基础篇) - 021 STC89C51系列单片机 内部EEPROM 驱动

    最近又看了一下关于stc单片机的知识,感觉在使用中EEPROM是个经常用到的东西,特地学习了一下,给大家分享一下心得,如有不足,多多包涵,废话不多说,一图解千言,先上图: /*------------ ...

随机推荐

  1. 汇编指令之JMP,CALL,RET(修改EIP的值!!!)

    简单介绍了,JMP指令按市面上的意思来说是跳转到指定地址,但我这里不这么说,JMP, CALL, RET三个指令均为修改EIP值的指令,EAX, ECX, EBX, EDX, ESP, EBP, ES ...

  2. JOIN中的外连接(external join)

    外连接: ---外连接并不要求连接的两表的每一条记录在对方表中都有一条匹配记录.要保留所有记录(甚至这条记录没有匹配的记录也要保留)的表成为保留表.外连接可以一句连接表保 留左表,右表和全部表的行二进 ...

  3. mybatis if-else用法

    demo: <select id="queryRuralCodes" resultType="string" parameterType="ma ...

  4. 数据挖掘--K-means

    K-Means方法是MacQueen1967年提出的.给定一个数据集合X和一个整数K(n),K-Means方法是将X分成K个聚类并使得在每个聚类中所有值与该聚类中心距离的总和最小. K-Means聚 ...

  5. Nginx+Docker部署模式下 asp.net core 获取真实的客户端ip

    目录 Nginx+Docker部署模式下 asp.net core 获取真实的客户端ip 场景 过程还原 结论 参考资料 Nginx+Docker部署模式下 asp.net core 获取真实的客户端 ...

  6. shell编写for例子

    1.批量打包sh文件 #!/bin/bash -name "*.sh"` do tar -czvf $i.tgz $i done 2.批量解压文件 #!/bin/bash -nam ...

  7. jq序 选择器

    1.库和框架 库:小而精 直接操作DOM css() jquerry封装js的那些操作: 事件,属性, ajax(交互的技术),DOM,选择器 框架:大而全  事件,DOM,属性操作,ajax,&qu ...

  8. 201871010104-陈园园 《面向对象程序设计(java)》第八周学习总结

    201871010104-陈园园 <面向对象程序设计(java)>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  9. 14-numpy笔记-莫烦pandas-2

    代码 import pandas as pd import numpy as np dates = pd.date_range('20130101', periods=6) df=pd.DataFra ...

  10. python27期day12:推导式、内置函数、高阶函数、匿名函数、作业题

    1.推导式:做一些有规律的数据结构 列表推导式: 普通循环模式: [加工后的变量 for 循环] 示例一:print([i for i in range(1,51)]) 结果:[1, 2, 3, 4, ...