通过 RT-Thread Studio 配置 AB32VG1 片上外设 GPIO 的引脚,控制 RGB 彩灯进行简单的颜色变换
1.2 模块介绍
开发板上板载一个三色 RGB 彩灯,原理图如下:
开发板引脚连接如下图,引脚 PA2 对应蓝灯,引脚 PE1 对应红灯,引脚 PE4 对应绿灯,RGB 为共阳极,当引脚拉低时,对应的 led 点亮
点击 文件-> 新建-> RT-Thread 项目控件,选择基于开发板的项目,填写工程名字,选择我们使用到的开发板(AB32VG1),调试器我们随便选,下载方式不是通过此处下载。
工程新建后左边的项目资源管理器会显示我们的工程,我们把他展开,编译一下,编译。
结果如下:
代码文件如下:
rgb.c 内写入如下程序
添加头文件,定义一个 RGB 结构体,并声明 LED
#include "rgb.h"
#include
#include "board.h"
struct Led_s
{
uint8_t LED_R;
uint8_t LED_B;
uint8_t LED_G;
}; // 定义一个 RGB 结构体
struct Led_s Led;
编写初始化驱动程序,调用 rt_pin_get 获取 led 句柄,通过句柄设置对应引脚模式为输
出模式
void RGB_Init(void)
{
// 获得 led
Led.LED_R = rt_pin_get("PE.1");
Led.LED_G = rt_pin_get("PE.4");
Led.LED_B = rt_pin_get("PA.2");
// 设置引脚为输出方式
rt_pin_mode(Led.LED_R, PIN_MODE_OUTPUT);
rt_pin_mode(Led.LED_G, PIN_MODE_OUTPUT);
rt_pin_mode(Led.LED_B, PIN_MODE_OUTPUT);
}
编写 rgb 不同颜色点灯驱动,通过 rt_pin_write 来控制 gpio 口电平高低,点亮红灯即
拉低红灯引脚,拉高其他两个颜色灯的引脚
//传入参数 on=1:对应亮,on=0:对应灭
//红灯驱动
void RGB_Red(rt_bool_t on)
{
rt_pin_write(Led.LED_G, PIN_HIGH);
rt_pin_write(Led.LED_B, PIN_HIGH);
if (on) {
rt_pin_write(Led.LED_R, PIN_LOW);
}else {
rt_pin_write(Led.LED_R, PIN_HIGH);
} }
//蓝灯驱动
void RGB_Blue(rt_bool_t on){
rt_pin_write(Led.LED_G, PIN_HIGH);
rt_pin_write(Led.LED_R, PIN_HIGH);
if (on) {
rt_pin_write(Led.LED_B, PIN_LOW);
}else {
rt_pin_write(Led.LED_B, PIN_HIGH);
} }
//绿灯驱动
void RGB_Green(rt_bool_t on)
{
rt_pin_write(Led.LED_R, PIN_HIGH);
rt_pin_write(Led.LED_B, PIN_HIGH);
if (on) {
rt_pin_write(Led.LED_G, PIN_LOW);
}else {
rt_pin_write(Led.LED_G, PIN_HIGH);
}
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
嵌入式
+关注
关注
5068文章
19019浏览量
303290 -
RT
+关注
关注
0文章
73浏览量
40006 -
GPIO
+关注
关注
16文章
1196浏览量
51918
发布评论请先 登录
相关推荐
在RT-Thread Studio上配置rtthread CANFD驱动来控制M3508电机
本文旨在RT-Thread Studio上配置rtthread CANFD驱动来控制M3508电机,不涉及任何原理
开发环境:RT-Thread
发表于 10-08 11:44
•1245次阅读
在 RT-Thread Studio 上使用 RT-Thread Nano
本文介绍了如何在 RT-Thread Studio 上使用 RT-Thread Nano,并以创建 stm32f103RB 的 Nano 工程为例。准备工作安装
发表于 05-18 15:59
使用RT-Thread Studio开发各个外设的驱动的操作方法
Studio 可以通过在board.h中配置引脚,实现初始化功能如果感觉RT-Thread Studio
发表于 03-21 10:44
基于RT-Thread Studio的ADC外设使用方案介绍
ART-Pi,创建模板工程。2、基于RT-Thread Studio 使用STM32单片机的ADC外设一、工程建立 工程建立和时钟配置这里不再赘述,可以看上一篇文章,在 PWM 中详细
发表于 03-28 16:57
RT-Thread Studio 主要亮点功能
RT-Thread Studio V1.1.0 快速上手体验 RT-Thread Studio 主要包括工程创建和管理,代码编辑,SDK管理器,RT
RT-Thread STM32 配置系统时钟(使用外部晶振)
RT-Thread STM32 配置系统时钟开发环境芯片:STM32F103RCT6RT-Thread Studio: V1.0.6(现在已经更新到1.1.3,由于本人使用RTT开发已
发表于 12-14 18:45
•14次下载
RT-Thread Studio驱动SD卡
RT-Thread Studio驱动SD卡前言一、创建基本工程1、创建Bootloader2、创建项目工程二、配置RT-Thread Settings三、代码分析1.引入库2.读入数据
发表于 12-27 19:13
•20次下载
使用RT-Thread Studio进行智能家居终端的设计
本次方案基于星火一号开发板开发,使用RT-Thread Studio进行工程创建,代码编辑,RT-Thread配置,调试配置,程序下载等功能
评论