3233|11

1532

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【AB32VG1开发板测评】PWM调节及呼吸灯 [复制链接]

 
  本帖最后由 jinglixixi 于 2021-9-13 17:09 编辑

AB32VG1内部配有6个PWM输出通道,若以PWM来控制RGB_LED就可产生呼吸灯效果,该RGB_LED的引脚连接如图1所示。

 

图1 RGB_LED连接端口

 

实现呼吸灯效果的步骤如下:

1. 创建一个基于AB32VG1开发板的RT-Thread新项目;

2. 在左侧资源管理器中点击“RT-Thread Setting”,然后选取“更多配置”;

3. 选取“硬件”选项卡,按图2所示进行设置,由此可知PWM2所控制的是LED_R;

 

图2 功能配置

 

4. 按“Ctrl + S”进行保存,以使RT Thread的配置生效;

5. 在左侧资源管理器的application下,新建一个文件pwm.c,其内容为:

#include <rtthread.h>
#include "board.h"
#define PWM_DEV_NAME "t5pwm" /* PWM设备名称 */
#define PWM_DEV_CHANNEL 1 /* PWM通道 */
struct rt_device_pwm *pwm_dev; /* PWM设备句柄 */
ALIGN(RT_ALIGN_SIZE)
static uint8_t PWM_Thread_Stack[1024];
static void PWM_Thread_Entry(void *para);
static struct rt_thread pwm_thread;
rt_uint32_t period, pulse;
void Pwm_Init(void){
period = 1000000; /* 周期 = 1M/period kHz */
pulse = 0; /* PWM脉冲宽度值(0 - period) */
pwm_dev = (struct rt_device_pwm *)rt_device_find(PWM_DEV_NAME);
RT_ASSERT(pwm_dev != RT_NULL);
/* 设置PWM周期和脉冲宽度 */
rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse);
/* 使能设备 */
rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL);
}

static void PWM_Thread_Entry(void *para){
Pwm_Init();
while(1){
/*使RGB灯红灯闪烁*/
for (int var = 0; var < period; var += 10000) {
rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, var);
rt_thread_mdelay(1000);
}
}
}

int Pwm_Thread_Init(void){
rt_thread_init(&pwm_thread, "pwm_thread", PWM_Thread_Entry, RT_NULL,
&PWM_Thread_Stack[0], sizeof(PWM_Thread_Stack), 10, 10);
rt_thread_startup(&pwm_thread);
return 0;
}

INIT_APP_EXPORT(Pwm_Thread_Init);

static void PWM_Thread_Entry(void *para){
Pwm_Init();
while(1){
/*使RGB灯红灯闪烁*/
for (int var = 0; var < period; var += 10000) {
rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, var);
rt_thread_mdelay(10);
}
for (int var = period; var >0; var -= 10000) {
rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, var);
rt_thread_mdelay(10);
}
}
}

 

6. 对程序进行编译和下载,其测试结果如图3所示。该呼吸灯的特点是延时时间适中,呈现的调节效果为三角波,即渐变增强亮度再渐变减弱亮度。

 

 

图3显示效果

 

最新回复

那板载的那个天线是用于什么的?   详情 回复 发表于 2021-9-15 08:59

赞赏

1

查看全部赞赏

点赞(1) 关注
 
 

回复
举报

6828

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

可以加个示波器看一下PWM点灯过程更好

点评

没错,只是手头没有呀!  详情 回复 发表于 2021-9-12 23:51
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 
Jacktang 发表于 2021-9-12 19:33 可以加个示波器看一下PWM点灯过程更好

没错,只是手头没有呀!

 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

4
 

while(1) 尽量少用为好

点评

有啥说法?  详情 回复 发表于 2021-9-13 11:28
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

5
 
MrShangPING 发表于 2021-9-13 06:41 while(1) 尽量少用为好

有啥说法?

 
 
 

回复

1411

帖子

3

TA的资源

版主

6
 
感谢分享,继续加油测试
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

7
 
annysky2012 发表于 2021-9-13 11:53 感谢分享,继续加油测试

 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

8
 

thread 应该用while(1)呀

个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

1942

帖子

2

TA的资源

版主

9
 

板载wifi还是蓝牙来着?

点评

从资料看蓝牙通讯还是用HC-05蓝牙模块,而WIFI通讯是用的ESP8266模块。  详情 回复 发表于 2021-9-14 23:52
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

10
 
w494143467 发表于 2021-9-14 16:31 板载wifi还是蓝牙来着?

从资料看蓝牙通讯还是用HC-05蓝牙模块,而WIFI通讯是用的ESP8266模块。

点评

那板载的那个天线是用于什么的?  详情 回复 发表于 2021-9-15 08:59
 
 
 

回复

1942

帖子

2

TA的资源

版主

11
 
jinglixixi 发表于 2021-9-14 23:52 从资料看蓝牙通讯还是用HC-05蓝牙模块,而WIFI通讯是用的ESP8266模块。

那板载的那个天线是用于什么的?

点评

[attachimg]563085[/attachimg] 看原理图像是为蓝牙服务的,但没找到具体的东西。   详情 回复 发表于 2021-9-15 22:58
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

12
 
w494143467 发表于 2021-9-15 08:59 那板载的那个天线是用于什么的?

看原理图像是为蓝牙服务的,但没找到具体的东西。 

 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表