STM32/STM8技术论坛
直播中

ss

6年用户 8762经验值
擅长:电源/新能源 制造/封装 RF/无线
私信 关注
[经验]

如何配置stm8s的时钟功能

  无论大家想要使用stm8s的何种功能,首要的都是先打开单片机时钟功能。本文小编将向大家简述如何配置stm8s的时钟。
  
  图1 系统时钟树
  如图1,stm8s单片机时钟有三个时钟源,分别为HSE OSC 1-24MHz、HSI RC 16 MHz、LSI RC 128 kHz。第一个为外部高速时钟,我们晶振的焊接选择有1~24MHz这些选择;第二个是内部高速时钟,为16MHz RC震荡时钟;第三个是低速时钟,为128K。我们在选择是否要对初始时钟进行分频时,可通过如图中对 HSIDIV[1:0] 位进行配置;如果要对CPU频率进行配置,可通过设置CPUDIV位,我们往往需要单片机有一个较高的处理速度,在对CPU频率进行配置时,可以配置大一些;而对外设时钟如ADC、tiM、SPI等的配置可通过对具体外设的寄存器进行设置。我们现在来分别介绍一下如何通过软件设置开启外部和内部高速时钟。
  1. 开启外部高速时钟(假设我们外部焊接的是8M晶振)。
  (1)。 CLK-》SWR=0xb4; //HSE为主时钟源
  
  图2 主时钟切换寄存器
  (2)。 CLK-》CKDIVR=0x00;//CPU时钟设置为8M
  
  图3 时钟分频寄存器
  (3)。 CLK-》CSSR=0x01;//时钟安全监测使能
  (4)。 CLK-》SWCR=0x02;//使能自动时钟切换
  当然,我们也可以通过软件写入CLK_ECKR寄存器开启外部高速时钟,如下图4CLK_ECKR寄存器的说明:
  
  图4 外部时钟寄存器
  CLK-》ECKR = 0x01; //开启外部告诉寄存器
  2. 开启内部高速时钟。
  CLK-》SWR=0xe1; //HSI为主时钟源
  CLK-》CKDIVR=0x00;//CPU时钟设为16M
  CLK-》CSSR=0x01;//时钟安全监测使能
  CLK-》SWCR=0x02;//使能自动时钟切换
  通过以上两种方式,我们可以开启单片机时钟。通常,为了使时钟保持精确,选择外部高速晶振会更好。有了时钟配置概念,我们以后在应用单片机其他外设技术就有了简单的基础。

更多回帖

发帖
×
20
完善资料,
赚取积分