关于频率(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 次。

相关推荐
qq_448011162 小时前
中断服务函数简介
嵌入式硬件
Risehuxyc2 小时前
STM32程序逻辑---入口函数逻辑和NVIC嵌套向量中断控制器初始化
stm32·单片机·嵌入式硬件
【 STM32开发 】2 小时前
CubeMX+STM32】SD卡U盘实现__USB+FATFS (F103 篇)
stm32·单片机·嵌入式硬件
jianqiang.xue3 小时前
3倍向量算力:Arm给最小MCU装上本地AI
arm开发·人工智能·单片机
无敌最俊朗-17 小时前
【电感专题2:电感的感抗、电路的阻抗、电流的滞后】
单片机·嵌入式硬件·元器件·电感
wuyk55521 小时前
嵌入式故障诊断-Bug002-局部大数组压栈高温必死机
stm32·单片机·嵌入式硬件·mcu·物联网·51单片机·嵌入式实时数据库
Zwawa1 天前
嵌入式OLED表驱动菜单:用一张表、一个栈和一个窗口重写表驱动菜单
c语言·单片机·嵌入式
Dev_XH1 天前
【成品设计】基于沁恒单片机的电动汽车充电站智慧调度系统
stm32·单片机·嵌入式硬件·物联网
shimly1234561 天前
(done) 嵌入式硬件电路图 (5) 重要的元器件特性之二极管三极管
嵌入式硬件
minglie11 天前
esp32c3+atshell测试ov7670
单片机·嵌入式硬件