#ifndef BUZZER_H #define BUZZER_H #include /* C 板无源蜂鸣器(TIM4_CH3, PD14),音调表与 legacy 完全一致 */ typedef enum { BUZZER_P = 0, // 空拍 BUZZER_L1, BUZZER_L1_, BUZZER_L2, BUZZER_L2_, BUZZER_L3, BUZZER_L4, BUZZER_L4_, BUZZER_L5, BUZZER_L5_, BUZZER_L6, BUZZER_L6_, BUZZER_L7, // 低音 BUZZER_M1, BUZZER_M1_, BUZZER_M2, BUZZER_M2_, BUZZER_M3, BUZZER_M4, BUZZER_M4_, BUZZER_M5, BUZZER_M5_, BUZZER_M6, BUZZER_M6_, BUZZER_M7, // 中音 BUZZER_H1, BUZZER_H1_, BUZZER_H2, BUZZER_H2_, BUZZER_H3, BUZZER_H4, BUZZER_H4_, BUZZER_H5, BUZZER_H5_, BUZZER_H6, BUZZER_H6_, BUZZER_H7, // 高音 } buzzer_tone_e; extern void buzzer_init(void); extern void buzzer_on(buzzer_tone_e tone); extern void buzzer_off(void); /* ---- 调试用旋律 ---- * 按固定 100ms/步 推进的短旋律(音符表见 buzzer.c),用于把掉线警告音换成 * 音乐。step 由调用方每 100ms 递增 1,内部对旋律总步数取模自动循环; * 旋律中的空拍 BUZZER_P 由 buzzer_on() 解释为静音,用来断音。 */ extern void buzzer_play_melody(uint16_t step); #endif