STM8S如何跑24M的HSE晶振

2020-03-08来源: eefocus关键字:STM8S  24M  HSE晶振

就这么几步,


第一步: 检查STM8s.h头文件配置


/**

  * @brief  In the following line adjust the value of External High Speed oscillator (HSE)

   used in your application

   Tip: To avoid modifying this file each time you need to use different HSE, you

        can define the HSE value in your toolchain compiler preprocessor.

  */

#if !defined  HSE_Value

 #if defined (STM8S208) || defined (STM8S207) || defined (STM8S007) || defined (STM8AF52Ax) ||

     defined (STM8AF62Ax) || defined (STM8AF622x)

  #define HSE_VALUE ((uint32_t)24000000) /* Value of the External oscillator in Hz*/

 #else

  #define HSE_VALUE ((uint32_t)16000000) /* Value of the External oscillator in Hz*/

 #endif /* STM8S208 || STM8S207 || STM8S007 || STM8AF62Ax || STM8AF52Ax || STM8AF622x */

#endif /* HSE_Value */

 


第二步:代码配置外部时钟


    CLK_DeInit();

    CLK_HSICmd(DISABLE);    //禁止内部高速晶振

    CLK_ClockSwitchCmd(ENABLE);     //使能时钟切换

    CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSE, DISABLE, CLK_CURRENTCLOCKSTATE_DISABLE);    //时钟切换(自动切换模式,切换到外部时钟,禁止切换中断,当前钟状态为)

    CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);      //配置CPU的分频器

 

    CLK_ClockSecuritySystemEnable();

    CLK_HSECmd(ENABLE);

 


第三步:非常重要!!检查Options配置位打开WaitState,等待时钟启动稳定。


这一步在生产烧录时不能忘了,多少有点蛋疼。。。



最后,16M到24M超频性能并不是2->3的提升,,,


详见这位大牛的分析:


http://bbs.elecfans.com/jishu_805711_1_1.html

关键字:STM8S  24M  HSE晶振 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic490810.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM8L15x系列MCU的标准库简介
下一篇:STM8 固件库编写 使用外部晶振串口通信时,发送是乱码

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM8S配置位 OptionByte
 1.什么是STM8S 的配置字 OptionByte2.Option Byt Byte 里面的位都表示什么3.如何编程Option Byte一 选项字节(OptionByte )STM8S 的配置字类似于AVR 的Fuse 熔丝位。用于配置端口的复用功能和读保护等操作。不同于AVR 的熔丝位,STM8S 的时钟配置并不在Option Byte 中,不会出现写完STM8S 后芯片直接锁死的尴尬。选项字节用于配置硬件特性和存储器保护状态,这些字节位于同一页的特定存储器阵列中。选项字节可以在ICP/SWIM模式中或IAP模式中修改, 也就是可以通过STlink 写配置字,或者是通过程序写选项字。举例:STM8S 的有一个
发表于 2020-04-27
STM8S配置位 OptionByte
STM8S——8位基本定时器(TIM4)
简介:该定时器由一个带可编程预分频器的8位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能。主要功能:(1)8位向上计数的自动重载计数器;(2)3位可编程的预分配器(可在运行中修改),提供1、2、4、8、16、32、64、128这8种分频比例;(3)中断产生:更新中断(溢出,计数器初始化)。代码实现: 1 /* Includes ------------------------------------------------------------------*/ 2 #include "stm8s.h" 3  4 /* Private
发表于 2020-04-25
stm8S毫秒定时器
#include "tim4.h"#include "stm8s_tim4.h"#define TIM4_PERIOD 124void Dely1ms(void){TIM4_DeInit();/* Time base configuration */// 8M/64=125000HZ// (x + 1)/125000=0.001s = 1ms// x = 124TIM4_TimeBaseInit(TIM4_PRESCALER_64, TIM4_PERIOD);/* Clear TIM4 update flag */TIM4_ClearFlag(TIM4_FLAG_UPDATE
发表于 2020-04-25
STM8S 115200bps 串口中断连续接收出错问题
内部16M晶振误差太大,导致波特率不准,9600bps可以。要想使用115200,就用外部晶振吧。还有数据寄存器DR中的数据如果没有及时取走(也可能因为波特率不准)导致数据溢出,出现反复中断现像,如在调试时如果暂停时串口上还有数据,再次运行时DR中的数据将一直是某个数据,正常情况下是不会出现的,解决办法就是进中断的时候清OV标志(不能解决根本问题)。
发表于 2020-04-18
STM8S主时钟切换(使用HSE时钟源)
的时钟源:HSE;启动切换中断;保持原时钟源开启  if (es == SUCCESS)  //切换是否成功,SUCCESS or ERROR  {      CLK_CCOConfig(CLK_OUTPUT_MASTER);//配置时钟输出脚的时钟源:f(master)      CLK_CCOCmd(ENABLE);//启动时钟输出功能  };  /* Infinite loop */  while (1)  {  }  }stm8s_it.c文件
发表于 2020-04-18
STM8S主时钟切换(使用HSE时钟源)
STVP烧录出错
用STVP烧录程序到STM8S003F时出现错误提示:Cannot communicate with the tool.其实是下载工具没选择好,确定返回到软件界面后,点Configure->Configure ST Visual Programmer,弹出如下窗口我们一般会选择右边两个栏内的选项,而把左边的Hardware一栏忘记选择,软件安装好之后默认是RLINK,而我们购买的工具大部分是ST-LINK,点选这个之后再返回软件,就可以正常烧录了。
发表于 2020-04-15
STVP烧录出错
小广播
何立民专栏 单片机及嵌入式宝典

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

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