NBK-RD8x3x应用PWM三色灯调色

任务:通过按键调节开发板上PWM三个通道输出不同占空比,实现对三色灯的调色,其中通过0.96OLED显示每个通道的PWM占空比。

RGB三色灯:

实现步骤:

首先通过易码魔盒创建一个新模板,选择PWM0-设置频率为1000Hz(方便调节),初始占空比可以不进行设置,使能任意三个独立模式通道,失能PWM中断。

这里由于用到了OLED以及三个按键,所以再对这些外设进行初始化IO口设置。

按键使用到GPIO1--PIN0、1、2,配置为上拉输入,OLED使用到了GPIO2--PIN1、3,配置为强推挽输出。

占空比调节:

方法一:在rd_pwm.c中可以找到配置占空比的函数:

调节占空比就需要用到这个函数。

方法二:通过寄存器直接更改占空比的值:

由于在rd_pwm.c中定义了PWM占空比调节寄存器:

直接使用需要了解这些分别对应那些通道,通过数据手册,我们可以知道PWM0的通道0通道1通道2的占空比调节寄存器对应的地址为:

所以,PWM00、PWM01,PWM02对应的占空比调节寄存器为PWMREG[6],PWMREG[7],PWMREG[8]。

主函数编写:

知道了这些,就可以对PWM占空比进行配置了,这里我使用三个按键对每个通道的PWM占空比进行调节。

这里我设置没次按键按下,占空比增加3199,按下10次之后,PWM占空比100%。当然,通过调整占空比函数的第二个参数,可以对增量的方向进行设置。

(注意一点:使用P11端口作为按键使用时,由原理图可知,P11为标签为CLK与D1灯(也就是板子上的RUN灯)相连,按下按键时,D1灯也会亮。)

实验现象:

通过三个按键调节PWM占空比,使RGB三色灯显示不同颜色。

同时通过OLED显示当前通道的占空比:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

brepot

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

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

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

打赏作者

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

抵扣说明:

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

余额充值