Quadcopter/User/bsp/buzzer_pwm.h
2025-10-03 14:32:06 +08:00

46 lines
1.2 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ----------------------------------------------------------------- */
#include <stdint.h>
#include "tim.h"
#include "bsp.h"
/* Exported constants ------------------------------------------------------- */
/* Exported macro ----------------------------------------------------------- */
/* Exported types ----------------------------------------------------------- */
/* BUZZER灯状态设置用 */
typedef enum {
BSP_BUZZER_ON,
BSP_BUZZER_OFF,
BSP_BUZZER_TAGGLE,
} BSP_BUZZER_Status_t;
/*常用音调频率*/
typedef enum {
BSP_BUZZER_C5 = 523,
BSP_BUZZER_D5 = 587,
BSP_BUZZER_E5 = 659,
BSP_BUZZER_F5 = 698,
BSP_BUZZER_G5 = 783,
BSP_BUZZER_A5 = 880,
BSP_BUZZER_B5 = 988,
} BSP_BUZZER_USUAL_TONE_t;
/* Exported functions prototypes -------------------------------------------- */
int32_t BSP_BUZ_GetTIMxFrequency(TIM_HandleTypeDef *htim);
int8_t BSP_BUZZER_Start(void);
int8_t BSP_BUZZER_Stop(void);
int8_t BSP_BUZZER_Set_Duty_Cycle(float duty_cycle);
int8_t BSP_BUZZER_Set_Freq(uint16_t psc, uint16_t arr);
int8_t BSP_BUZZER_Set(BSP_BUZZER_Status_t s, BSP_BUZZER_USUAL_TONE_t tone, float volume);
void Buzzer_On(uint16_t freq_hz, uint8_t volume);
void Buzzer_Off(void);
#ifdef __cplusplus
}
#endif