1897|6

153

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【平头哥RVB2601开发板试用体验】 GRB呼吸灯 [复制链接]

  本帖最后由 梦溪开物 于 2022-3-23 13:54 编辑

提前下载好剑池CDK软件,就可以体验平头哥RVB2601开发板了。RVB2601开发板上有一个RGB灯,如图1-1所示。在CDK主界面最右边HOME里面搜索ch2601_marquee_demo并下载(具体界面如图1-2所示),打开该工程后,就会发现该工程下实际包含“两个小项目”:“#define CONFIG_PWM_MODE”和“#define CONFIG_GPIO_MODE”,#define CONFIG_PWM_MODE”是用PWM实现RGB三色闪烁模式,而#define CONFIG_GPIO_MODE是用GPIO实现RGB三色闪烁模式。要实现哪一个模式,就注释另一种模式,比如要实现PWM模式,就注释GPIO模式://#define CONFIG_GPIO_MODE。刚开始看程序有点困难。

 

因为不知道如何查看程序,后来从其它帖子了解到要右击工程,选择Parse all project,这样就可以查看具体函数内容了,不过还是不能查看某些具体结构体的内容,只能从在线YOC文档进行查询了:https://yoc.docs.t-head.cn/yocbook/Chapter3-AliOS/CSI%E8%AE%BE%E5%A4%87%E9%A9%B1%E5%8A%A8%E6%8E%A5%E5%8F%A3/CSI2/PWM.html#csipwmt。本次要体验一下呼吸灯的感觉。

 

                                                图1-1  

 

                                                          图 1-2

 

那么,要实现呼吸灯程序,就得自己改一下这个例程。首先注释GPIO模式://#define CONFIG_GPIO_MODE,主改动的函有两个,分别为void led_pinmux_init()和void led_refresh()。其中,void led_pinmux_init()为RGB驱动的初始化程序,主要选择GPIO口,设置PWM波的频率、通道、有效脉冲宽度和有效脉冲电平;void led_refresh()为RGB呼吸灯非线性调光程序,csi_pwm_out_stop(&r, pwm_IO / 2)为开启PWM,pwm_IO为对应的具体通道。这里感觉YOC文档关于csi_pwm_out_config这个函数注解不对,pulse_width_us应该是:有效电平时间=period_us-pulse_width_us(单位us)。改动的两个函数的具体内容如下所示:

 

void led_pinmux_init()
{
	//7是红色,2是绿色,1是蓝色
	//csi_error_t csi_pwm_out_config(csi_pwm_t *pwm,uint32_t channel,
	//uint32_t period_us,uint32_t pulse_width_us,csi_pwm_polarity_t polarity)
	//pwm: 设备句柄。
	//channel:通道号(范围0~5)。
    //period_us:信号周期时间(单位us)。
	//pulse_width_us:有效电平时间=period_us-pulse_width_us(单位us)。
    //polarity:有效电平极性。
    csi_pwm_out_config(&r, 7 / 2, 300, 100, PWM_POLARITY_HIGH);
    csi_error_t ret;
    csi_pin_set_mux(PA7, PA7_PWM_CH7);
    csi_pin_set_mux(PA25, PA25_PWM_CH2);
    csi_pin_set_mux(PA4, PA4_PWM_CH4);
	csi_pwm_init(&r, 0);
}
void led_refresh()
{
    if (g_ctr == 0)
	{
		while(g_ctr<300)

		{
	        csi_pwm_out_config(&r, 4/ 2, 600-g_ctr, g_ctr++, PWM_POLARITY_HIGH);
		    csi_pwm_out_stop(&r, 7 / 2);
		    csi_pwm_out_stop(&r, 2 / 2);
		    csi_pwm_out_start(&r, 4 / 2);
			udelay(1000 * 5);
		}
	}
    csi_pwm_out_stop(&r, 4 / 2);
	udelay(1000 * 200);	
	
	if (g_ctr==300)
	{
		while(g_ctr>0)
		{
		    csi_pwm_out_config(&r, 4 / 2, 600-g_ctr, g_ctr--, PWM_POLARITY_HIGH);
			csi_pwm_out_stop(&r, 7 / 2);
			csi_pwm_out_stop(&r, 2 / 2);
			csi_pwm_out_start(&r, 4 / 2);
			udelay(1000 * 5);
		}
			
	}
}

 

呼吸灯的演示结果如下所示:


 

最新回复

nmg
基本上就是在咱们这里发布后,再同步到平头哥社区一份,>>点此查看如何同步   有问题找我,这次不是测评,是DIY活动,最终作品可参与评奖。   详情 回复 发表于 2022-3-24 09:54
点赞 关注
 
 

回复
举报

15

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

好详细的文章,匆匆浏览一遍,还要仔细读一读。

 
 
 

回复

7047

帖子

11

TA的资源

版主

板凳
 
我想问一下你们在平头哥那边怎么发贴,我还没发成功过。

点评

你是说平头哥RISC-V RVB2601活动专区吗?  详情 回复 发表于 2022-3-23 22:08
 
 
 

回复

153

帖子

0

TA的资源

一粒金砂(中级)

4
 
lugl4313820 发表于 2022-3-23 16:53 我想问一下你们在平头哥那边怎么发贴,我还没发成功过。

你是说平头哥RISC-V RVB2601活动专区吗?

点评

对呀,不知道怎么交作业了。感觉这次评测要炸了,要被退货的节奏。  详情 回复 发表于 2022-3-23 22:10
 
 
 

回复

7047

帖子

11

TA的资源

版主

5
 
梦溪开物 发表于 2022-3-23 22:08 你是说平头哥RISC-V RVB2601活动专区吗?

对呀,不知道怎么交作业了。感觉这次评测要炸了,要被退货的节奏。

点评

nmg
基本上就是在咱们这里发布后,再同步到平头哥社区一份,>>点此查看如何同步   有问题找我,这次不是测评,是DIY活动,最终作品可参与评奖。  详情 回复 发表于 2022-3-24 09:54
最后交作业是写一个总的项目技术报告  详情 回复 发表于 2022-3-24 08:45
 
 
 

回复

153

帖子

0

TA的资源

一粒金砂(中级)

6
 
本帖最后由 梦溪开物 于 2022-3-24 08:47 编辑
lugl4313820 发表于 2022-3-23 22:10 对呀,不知道怎么交作业了。感觉这次评测要炸了,要被退货的节奏。

最后交作业是写一个总的项目技术报告

 

 
 
 

回复

5263

帖子

239

TA的资源

管理员

7
 
lugl4313820 发表于 2022-3-23 22:10 对呀,不知道怎么交作业了。感觉这次评测要炸了,要被退货的节奏。

基本上就是在咱们这里发布后,再同步到平头哥社区一份,>>点此查看如何同步

 

有问题找我,这次不是测评,是DIY活动,最终作品可参与评奖。

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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