这一章在干嘛?

蜂鸣器实验:有源 vs 无源蜂鸣器、GPIO 驱动三极管开关、蜂鸣器报警与单音播放。5 分钟跑完,1 秒钟让你听到声音。

14.1 蜂鸣器简介

14.2 硬件设计

14.3 程序设计

14.4 下载验证

14.1 蜂鸣器简介

类型特点驱动方式
有源蜂鸣器内部有振荡源,给电就响高低电平(直流)
无源蜂鸣器需要外部方波驱动1~5 kHz 方波

DMF407 上的蜂鸣器是有源蜂鸣器,所以只要给低电平就响。

原书图 14.1.1:有源 vs 无源蜂鸣器对比原书图 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 关。