【STM8S】STM8S之内外部16M晶振

原创 2016年08月30日 09:51:33

本篇博文最后修改时间:2016年08月30日,10:24。


一、简介

本文介绍STM8S系列如何分别实现内外部的16M晶振的使用


二、实验平台

编译软件:IAR for STM8 1.42.2

硬件平台:stm8s003f3p6开发板

仿真器:ST-LINK

库函数版本:STM8Sx_AN3298_FW_V4.0.0


版权声明

博主:甜甜的大香瓜

声明:喝水不忘挖井人,转载请注明出处。

原文地址:http://blog.csdn.NET/feilusia

联系方式:897503845@qq.com

香瓜BLE之CC2541群:127442605

香瓜BLE之CC2640群:557278427

香瓜BLE之Android群:541462902

香瓜单片机之STM8/STM32群:164311667
甜甜的大香瓜的小店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i

四、实验前提
1、在进行本文步骤前,请先阅读以下博文:
暂无

2、在进行本文步骤前,请先实现以下博文:
暂无


五、基础知识

1、STM8默认使用多少时钟频率?

答:默认使用的是内部16M晶振,并且是8分频,也就是2M的时钟频率。


2、内外部16M晶振有什么区别?

答:stm8内部已有16M晶振,但无法精确定时,如控制步进电机这类需要精确时间的项目,需要使用外部16M晶振。

如果是直流电机这类不需要精确时间的项目,只使用内部16M晶振即可。


六、内部16M晶振的使用步骤

1、初始化内部16M晶振(main.c的main函数中)

  //设置内部高速时钟16M为主时钟
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
使用“STM8函数库中文参考.exe”工具生成,一条代码即可使用内部16M晶振,简单粗暴。

七、外部16M晶振的使用步骤

1、写一个外部16M晶振初始化的函数(main.c中)

/*******************************************************************************
* Function Name : CLK_Init
* Description   : 时钟初始化
* Input         : None
* Return        : None
* Author        : 甜甜的大香瓜
* date          : 2016.05.09
*******************************************************************************/
static void CLK_Init(void)
{  
  CLK_HSECmd(ENABLE);                                   //外部时钟开  
  CLK_LSICmd(ENABLE);                                   //内部低频RC开  
  CLK_HSICmd(ENABLE);                                   //内部高频RC开 
  while(SET != CLK_GetFlagStatus(CLK_FLAG_HSERDY));    //等待外部晶振起振  
  CLK_ClockSwitchCmd(ENABLE);                           //切换使能  
  CLK_ClockSwitchConfig(CLK_SWITCHMODE_MANUAL,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_DISABLE);//切换到外部晶振 
  CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);              //1分频  
}  

2、初始化外部16M晶振(main.c的main函数中)

  //使用外部16M晶振
  CLK_Init();





版权声明:喝水不忘挖井人,转载请注明出处,897503845@qq.com。

【单片机】[STM8] - 外部时钟 + 内部时钟 的切换

STM8S103K3: 外部时钟 + 内部时钟 的切换。 首先看一下 STM8S103K3 的时钟结构图,可以帮助你很好的理解。 这里有几个时钟,就是图中标识的时钟,需要弄清楚一下:fHSE: ...
  • z21109
  • z21109
  • 2016年04月29日 11:50
  • 1382

STM8S207使用外部24M晶振不起振的解决办法

具体表现: 1、使用 20M 的外部晶振,

STM8/32使用外部有源晶振的问题

使用STM8/STM32有源晶振的使用

stm8s003使用心得_时钟(CLK)

本文介绍stm8s003MCU的时钟(CLK)。前几天直接使用官方的库开发的程序,直接利用了库函数进行的时钟及TIMER的配置,其中有一些不太明白的地方,今天又仔细看了datasheet,有了更多的了...
  • spdian
  • spdian
  • 2017年01月12日 11:19
  • 2040

【STM8L】STM8L之内部16M晶振

本文介绍STM8L系列如何分别实现内部的16M晶振的使用

IAR FOR STM8精确延时函数

【整理者】61ic.com 【提供者】llz77 【详细说明】IAR FOR STM8精确延时函数 用的是IAR FOR STM8,有个项目想精确的知道下delay行数的延时时间是多少,上...

STM8S_002_TIM精确延时(阻塞式)

Ⅰ、写在前面在某些特定场合,需要精确的延时(us级),特别是底层驱动。如果使用软件延时,延时会随系统时钟改变及各种因素影响而改变。因此,就需要使用TIM精确延时。 阻塞式延时:从延时开始至结束,程序一...

STM8S单片机入门1(开发环境搭建)

      STM8S单片机开发环境由三大部分组成,包括PC机上的开发软件(集成开发软件、驱动程序等)、调试&编程器ST-LINK、目标单片机电路板。如下图所示: 1、PC机上开发软件 ...

联合体(union)的使用方法及其本质

6.本质&进阶: 根据union固定首地址和union按最大需求开辟一段内存空间两个特征,可以发现,所有表面的定义都是虚的,所谓联合体union,就是在内存给你划了一个足够用的空间,至于你怎么玩~它...

小记-STM8S003F3端口复用和端口开漏

1.软件方面:  STM8S003F3端口可以设置重映射,如pin12的PC5管脚,默认是SPI_SCK功能,可以重映射为TIM2_CH1,也就是timer2的1通道。映射方式并不像STM32那样有...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【STM8S】STM8S之内外部16M晶振
举报原因:
原因补充:

(最多只允许输入30个字)