One Framework 0.1.0
RoboMaster嵌入式框架“一键”解决方案,为你的“创意”服务。
载入中...
搜索中...
未找到
pwm_buzzer.c 文件参考
#include <zephyr/kernel.h>
#include <zephyr/device.h>
#include <zephyr/drivers/pwm.h>
#include <zephyr/logging/log.h>
#include "OF/drivers/output/buzzer.h"
pwm_buzzer.c 的引用(Include)关系图:

结构体

struct  pwm_buzzer_config
 
struct  pwm_buzzer_data
 

宏定义

#define DT_DRV_COMPAT   pwm_buzzer
 
#define PWM_BUZZER_INIT(n)
 

函数

 LOG_MODULE_REGISTER (pwm_buzzer, CONFIG_PWM_BUZZER_LOG_LEVEL)
 
int pwm_buzzer_play_tone (const struct device *dev, uint32_t frequency_hz, uint8_t volume)
 播放指定频率的声音
 
int pwm_buzzer_stop (const struct device *dev)
 停止播放声音
 
int pwm_buzzer_set_volume (const struct device *dev, uint8_t volume)
 设置蜂鸣器音量
 
int pwm_buzzer_get_volume (const struct device *dev, uint8_t *volume)
 获取当前音量
 
int pwm_buzzer_play_note (const struct device *dev, float note_multiplier, uint8_t volume)
 播放音符(基于基础频率的倍数)
 
static int pwm_buzzer_init (const struct device *dev)
 

宏定义说明

◆ DT_DRV_COMPAT

#define DT_DRV_COMPAT   pwm_buzzer

◆ PWM_BUZZER_INIT

#define PWM_BUZZER_INIT ( n)
值:
static const struct pwm_buzzer_config pwm_buzzer_config_##n = { \
.pwm = PWM_DT_SPEC_INST_GET(n), \
.base_frequency_hz = DT_INST_PROP(n, base_frequency_hz), \
}; \
\
static struct pwm_buzzer_data pwm_buzzer_data_##n; \
\
DEVICE_DT_INST_DEFINE(n, pwm_buzzer_init, NULL, \
&pwm_buzzer_data_##n, &pwm_buzzer_config_##n, \
POST_KERNEL, CONFIG_PWM_BUZZER_INIT_PRIORITY, \
NULL);
static int pwm_buzzer_init(const struct device *dev)
定义 pwm_buzzer.c:118
定义 pwm_buzzer.c:16
定义 pwm_buzzer.c:22

函数说明

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( pwm_buzzer ,
CONFIG_PWM_BUZZER_LOG_LEVEL  )

◆ pwm_buzzer_get_volume()

int pwm_buzzer_get_volume ( const struct device * dev,
uint8_t * volume )

获取当前音量

参数
dev蜂鸣器设备
volume指向存储当前音量的变量
返回
0表示成功,负数表示错误

◆ pwm_buzzer_init()

static int pwm_buzzer_init ( const struct device * dev)
static

◆ pwm_buzzer_play_note()

int pwm_buzzer_play_note ( const struct device * dev,
float note_multiplier,
uint8_t volume )

播放音符(基于基础频率的倍数)

参数
dev蜂鸣器设备
note_multiplier音符倍数(例如2.0表示高八度)
volume音量(0-100)
返回
0表示成功,负数表示错误

◆ pwm_buzzer_play_tone()

int pwm_buzzer_play_tone ( const struct device * dev,
uint32_t frequency_hz,
uint8_t volume )

播放指定频率的声音

参数
dev蜂鸣器设备
frequency_hz频率(Hz),0表示停止播放
volume音量(0-100),0表示静音,100表示最大音量
返回
0表示成功,负数表示错误

◆ pwm_buzzer_set_volume()

int pwm_buzzer_set_volume ( const struct device * dev,
uint8_t volume )

设置蜂鸣器音量

参数
dev蜂鸣器设备
volume音量(0-100)
返回
0表示成功,负数表示错误

◆ pwm_buzzer_stop()

int pwm_buzzer_stop ( const struct device * dev)

停止播放声音

参数
dev蜂鸣器设备
返回
0表示成功,负数表示错误