关于频率(HZ)与周期(ms)的转换

一、转换公式

首先提一个问题:关于32.768kHZ是多长,一秒有多少个kHZ?

二、代码示例

代码实现了一个看门狗定时器功能,主要流程如下:

初始化硬件(低速时钟、LED、按键)。

配置看门狗,设置回调函数 wdt_event_handler,并分配喂狗通道。

启动看门狗后,主循环持续检测按键 BUTTON_1:

若按键按下,则喂狗(清零计数器),同时点亮 LED2 指示。

若未及时按键,看门狗超时(约 2 秒,由默认配置决定),触发回调。

在回调中,点亮所有 LED 并拉高 P0.12,但硬件会在两个 32.768 kHz 时钟周期后强制复位芯片,因此 LED 只瞬间亮起,无法持续。

关于 32.768 kHz 的说明

你之前困惑的 32768(32.768 kHz)是指低速时钟(LFCLK)的频率。

频率 = 每秒振荡次数,所以 32.768 kHz 表示每秒钟振荡 32,768 次。

一个周期时长 = 1 / 32768 秒 ≈ 30.5 微秒。(代码中想delay_ms(1000)是不能实现的

看门狗超时后,硬件会等待两个 LFCLK 周期(约 61 微秒) 才复位,因此回调中无法执行耗时操作(如延时 1 秒),系统很快复位。

  • 1 kHz = 1000 Hz(赫兹,每秒振荡次数)

  • 32.768 kHz = 32,768 Hz,表示每秒钟振荡 32,768 次。

所以,一个周期的时间 = 1 / 32,768 秒 ≈ 30.5 微秒(μs)。

看门狗里说的"两个 LFCLK 周期"就是 2 × (1 / 32768) 秒 ≈ 61 微秒。

"一秒有多少个 kHz" 这个问法不准确。如果你想问"一秒有多少个周期",那就是 32,768 个周期;如果想问"一秒有多少个 kHz",那 1 秒就是 1/1000 个 kHz,这没意义。

简单记:kHz 是频率单位,1 kHz = 1000 次/秒。32.768 kHz 就是每秒钟 32,768 次。

相关推荐
这波不该贪内存的15 小时前
裸机开发VS单片机:架构与实战对比
单片机
山羊硬件Time16 小时前
自动化管理Linux的好工具:shell script
linux·嵌入式硬件·硬件工程师·基带工程·硬件开发
神一样的老师16 小时前
【兆易创新GD32VW553开发板试用】红外遥控接入天气时钟实战
驱动开发·单片机·嵌入式硬件
asjodnobfy16 小时前
Π型滤波电路
嵌入式硬件·硬件工程
多看多敲多思考18 小时前
华润微CS32ME10 MCU使用教程(2)---CS32ME10之UART串口模块使用
stm32·单片机·嵌入式硬件·mcu
神一样的老师18 小时前
【兆易创新GD32VW553开发板试用】天气时钟设计与调试实战
单片机·嵌入式硬件·物联网
国科安芯19 小时前
核电站仪控与监测系统中抗辐射 MCU 芯片应用研究
单片机·嵌入式硬件·macos·无人机·cocos2d·核电站
黑白园19 小时前
STM32系统时钟由72M修改为36M验证示例
stm32·单片机·嵌入式硬件
LCG元20 小时前
基于ARM7的LCD设计与实现:S3C4510B通用IO口控制液晶模块
stm32·单片机·嵌入式硬件
山后太阳20 小时前
Keil5(MDK-ARM)完整下载安装教程+入门教程:从零搭建STM32开发环境
arm开发·stm32·嵌入式硬件