2420|1

504

帖子

4

TA的资源

纯净的硅(高级)

楼主
 

【博流BL606P音视频开发板】PWM测试-呼吸灯效果实现 [复制链接]

 

13da037655c70b6623a78801cbe1852e

 

前言

    这一篇我们继续接口测试,测试PWM的输出,测试其频率和占空比的设置,以及使用PWM控制LED实现呼吸灯的效果。

过程

引脚

使用GPIO16

 

对应PWM0的输出GPIO16_PWM0_CH0P

 

 

代码

包含头文件

#include <aos/hal/pwm.h>

 

引脚配置

csi_pin_set_mux(GPIO_PIN_16, GPIO16_PWM0_CH0P);

 

PWM配置

pwm_dev_t pwm;

pwm.port = 0;

pwm.config.freq = 5000;

pwm.config.duty_cycle = 0.2f;

hal_pwm_init(&pwm);

 

启动

hal_pwm_start(&pwm);

 

 

测试

输出不同频率不同占空比的值,使用逻辑分析仪测试。

pwm.config.freq = 1000;

pwm.config.duty_cycle = 0.5f;

 

pwm.config.freq = 5000;

pwm.config.duty_cycle = 0.2f;

 

呼吸灯

代码

while(1)

{

for(int i=0;i<=100;i++)

{

pwm_cfg.duty_cycle = i/100.0;

hal_pwm_para_chg(&pwm, pwm_cfg);

aos_msleep(20);

}

for(int i=100;i>=0;i--)

{

pwm_cfg.duty_cycle = i/100.0;

hal_pwm_para_chg(&pwm, pwm_cfg);

aos_msleep(20);

}

}

 

可以看到占空比从0~100变化。

下图是99~100~99的过程。

 

 

将GPIO16接到JP8的GPIO19_LED_B,用GPIO16的占空比控制蓝色LED的亮灭。

可以看到呼吸灯的效果。实际灯的亮度并不是跟电压呈线性关系的,所以占空比和亮度也不是线性的,所以要按照实际LED的特性进行优化,按照查表得到不同亮度和占空比的对应关系,这样输出才会是均匀变化。

总结

以上完成了PWM的测试,使用逻辑分析仪测试了占空比和频率的设置的正确性。同时用PWM控制LED实现了呼吸灯的效果。

 

参考

https://occ.t-head.cn/document?temp=PWM&slug=yocbook

最新回复

PWM控制LED实现呼吸灯的效果还是挺好的   详情 回复 发表于 2022-12-24 16:32
点赞 关注
 
 

回复
举报

6828

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

PWM控制LED实现呼吸灯的效果还是挺好的

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表