当前位置:首页 > 编程技术 > 正文

stm8如何设置外部高速时钟

stm8如何设置外部高速时钟

STM8微控制器设置外部高速时钟(HSE)通常涉及以下几个步骤:1. 选择时钟源:首先确定你想要使用的时钟源,例如外部晶振、外部RC振荡器或外部时钟信号。2. 配置时钟...

STM8微控制器设置外部高速时钟(HSE)通常涉及以下几个步骤:

1. 选择时钟源:首先确定你想要使用的时钟源,例如外部晶振、外部RC振荡器或外部时钟信号。

2. 配置时钟源:根据所选的时钟源,配置相应的引脚和时钟单元。

3. 设置时钟预分频器:如果需要,设置时钟预分频器以降低时钟频率。

4. 启用时钟源:启用外部高速时钟。

以下是一个基于STM8微控制器的示例代码,展示了如何设置外部高速时钟:

```c

include "stm8s.h"

void HSE_Configuration(void) {

// 1. 使能时钟控制器

CLK->CKDIVR = 0x00; // 关闭时钟分频器

// 2. 配置外部时钟源

CLK->PCKENR1 = 0x00; // 关闭所有时钟单元

CLK->PCKENR2 = 0x00; // 关闭所有时钟单元

// 3. 设置外部时钟源为晶振

CLK->SWIMCCR = 0x00; // 关闭SWIM时钟

CLK->CSSR = 0x00; // 关闭时钟源选择

// 4. 使能外部时钟

CLK->CKDIVR = CLK_CKDIVR_HSEEN; // 使能外部高速时钟

// 5. 等待外部时钟稳定

while (!(CLK-> status & CLK_STATUS_HSERDY));

// 6. 设置系统时钟为外部高速时钟

CLK->SWIMCCR = 0x00; // 关闭SWIM时钟

CLK->CSSR = CLK_CSSR_HSE; // 选择外部高速时钟为系统时钟源

// 7. 等待系统时钟源切换完成

while (!(CLK-> status & CLK_STATUS_CLKSRC));

最新文章