这一章在干嘛? 蜂鸣器实验:有源 vs 无源蜂鸣器、GPIO 驱动三极管开关、蜂鸣器报警与单音播放。5 分钟跑完,1 秒钟让你听到声音。
14.1 蜂鸣器简介
| 类型 | 特点 | 驱动方式 |
| 有源蜂鸣器 | 内部有振荡源,给电就响 | 高低电平(直流) |
| 无源蜂鸣器 | 需要外部方波驱动 | 1~5 kHz 方波 |
DMF407 上的蜂鸣器是有源蜂鸣器,所以只要给低电平就响。
原书图 14.1.1:有源 vs 无源蜂鸣器对比
14.2 硬件设计
蜂鸣器通过 NPN 三极管(S8050)由 PB8 控制:
- PB8 输出高 → 三极管导通 → 蜂鸣器响
- PB8 输出低 → 三极管截止 → 蜂鸣器静音
串联基极电阻 1K。
14.3 程序设计
GPIO 初始化同跑马灯,main 里:
while (1) {
BEEP_TOGGLE(); // HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_8);
delay_ms(100);
BEEP_TOGGLE();
delay_ms(100);
}
14.4 下载验证
烧录 → 听到「哔-哔-哔」连续响声。
蜂鸣器长时间响会让人烦躁,调试时建议加 100ms 开 + 1s 关。
🧠 小测验有源蜂鸣器和无源蜂鸣器主要区别?
有源内含振荡源,给电即响;无源需外部方波驱动。
DMF407 的蜂鸣器是高电平响还是低电平响?
高电平响(PB8 高 → 三极管导通)。