蓝牙BLE---DA14683的PWM操作

本文详细介绍了DA14683芯片中PWM功能的使用方法,包括定时器PWM的初始化、频率和占空比的设置,以及如何暂停和检查PWM状态。适用于希望深入了解并掌握DA14683 PWM操作的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DA14683的PWM操作

Date: 2018.11.12

Create: Jim

工程例程

我们打开开发环境,导入以下Demo:

这个Demo有所有外设的使用例程。

初始化定时器PWM

找到 peripherals_demo->demos->demo_timer2.c

以下是demo程序使用定时器PWM的关键接口:

void demo_timer2_init(void)

这个函数主要把PWM参数置0

然后设置Timer2的时钟分频为4,这里系统时钟是16M,4分频就是4M.

再调用hw_timer2_set_frequency(100);把PWM输出频率设置为40K,计算方法是:

Fre=(sys_clock/div/100)

假设不改变系统时钟和分频的情况下,我们要把PWM输出频率设置为10K,则只要把

hw_timer2_set_frequency这个函数传入的形参改为400即可。

PWM输出参数修改

修改PWM输出频率

当我们初始化完PWM参数以后,如果想修改PWM输出频率,可以直接调用以下接口:

hw_timer2_set_frequency(pwm_freq);

pwm_freq参数的使用为:

Fre=(sys_clock/div/pwm_freq)

修改PWM输出占空比

修改PWM引脚的输出占空比,可以调用以下函数实现:

 

 

 

 

 

 

 

通道选择

HW_TIMER2_PWM是TIMER2的PWM输出通道选择,可选通道如下:

TIMER2总共有三个PWM通道,在DA14683的DateSheet中可以找到相关描述:

在参考原理图中,这三个引脚是以LED123的形式标注出来的,如果我们项目中并未使用到TIMER2的PWM,我们可以把这三个引脚当普通GPIO口来用,分别对应P2_5,P2_6,P2_7

 

占空比

void hw_timer2_set_pwm_start_end(HW_TIMER2_PWM pwm, uint16_t start, uint16_t stop)

这个函数的后面两个形参分别代表PWM在一个周期内开始输出高电平和结束高电平的时间。

如果我们的PWM输出频率是10K,那么就代表一秒震动10000次,即0.1ms一个周期。

如果uint16_t start这个型参传入的是0

uint16_t stop 传入的是pwm_freq_q

(pwm_freq_q = hw_timer2_get_frequency() / 4; // 1/4占空比)

注:hw_timer2_get_frequency()这个函数是获取当前PWM频率的函数。

那么PWM对应通道的输出就是从周期起始处开始输出高电平。

如果start形参传入的是5,stop形参传入的是pwm_freq_q(25)

那么PWM对应通道的输出就是从周期1/5处开始输出高电平。

需要更详细的说明可以参考以下SDK中的说明:

到此,我们的占空比修改就结束了。

 

暂停PWM输出

用户可以调用以下接口来暂停PWM输出:

hw_timer2_set_sw_pause(true);

取消暂停则传入形参false,如下:

hw_timer2_set_sw_pause(false);

 

检擦当前PWM状态

static inline bool hw_timer2_get_sw_pause(void)

调用这个接口可以检查当前PWM是输出状态还是暂停状态。

 

ESP32-WROOM-DA是乐鑫科技推出的一款高性能双天线Wi-Fi和蓝牙模块,专为需要高可靠性和长距离无线通信的应用而设计。该模块集成了ESP32-D0WD-V3芯片,支持2.4 GHz Wi-Fi和蓝牙4.2(BLE)功能。以下是ESP32-WROOM-DA项目的一些关键特点和应用场景: ### 关键特点 1. **双天线设计**:ESP32-WROOM-DA模块采用双天线设计,支持主天线和辅助天线切换,确保在复杂环境下的信号稳定性和覆盖范围。 2. **高性能处理器**:内置双核Xtensa LX6处理器,主频高达240 MHz,能够处理复杂的计算任务。 3. **丰富的外设接口**:支持UART、SPI、I2C、I2S、PWM、ADC、DAC等多种外设接口,方便与各种传感器和执行器连接。 4. **低功耗**:支持多种低功耗模式,适合电池供电的应用场景。 5. **安全性**:内置硬件加密引擎,支持AES、SHA、RSA等加密算法,确保数据传输的安全性。 ### 应用场景 1. **智能家居**:用于智能灯光、智能插座、智能门锁等设备的无线通信和控制。 2. **工业物联网**:应用于工业设备的远程监控、数据采集和设备控制。 3. **可穿戴设备**:用于智能手表、健康监测设备等可穿戴设备的无线通信。 4. **智能农业**:用于土壤湿度监测、气象数据采集、自动化灌溉系统等。 5. **智能交通**:应用于交通信号控制、车辆定位、停车场管理等。 ### 开发工具 乐鑫科技提供了丰富的开发工具和资源,包括ESP-IDF(Espressif IoT Development Framework)、Arduino核心库、Python工具链等,方便开发者快速上手进行项目开发。 ### 总结 ESP32-WROOM-DA模块凭借其高性能、双天线设计和丰富的外设接口,适用于各种需要高可靠性和长距离无线通信的应用场景。无论是智能家居、工业物联网还是可穿戴设备,ESP32-WROOM-DA都能提供强大的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jim天河

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值