0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RT-Thread Studio配置片上外设GPIO的引脚

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-08-21 09:49 次阅读

通过 RT-Thread Studio 配置 AB32VG1 片上外设 GPIO 的引脚,控制 RGB 彩灯进行简单的颜色变换

1.2 模块介绍

开发板上板载一个三色 RGB 彩灯,原理图如下:

pYYBAGMAwmeAKJq7AADvQ5feWB8153.png

开发板引脚连接如下图,引脚 PA2 对应蓝灯,引脚 PE1 对应红灯,引脚 PE4 对应绿灯,RGB 为共阳极,当引脚拉低时,对应的 led 点亮

poYBAGMAwpeAF3z9AAKkAqRNuC0222.png

点击 文件-> 新建-> RT-Thread 项目控件,选择基于开发板的项目,填写工程名字,选择我们使用到的开发板(AB32VG1),调试器我们随便选,下载方式不是通过此处下载。

pYYBAGMAws2AGIaOAANsmqoksAo768.png

工程新建后左边的项目资源管理器会显示我们的工程,我们把他展开,编译一下,编译。

结果如下:

pYYBAGMAwvWAf7d2AAB0CLjoWhE414.png

代码文件如下:

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);
 }
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5017

    文章

    18496

    浏览量

    293165
  • RT
    RT
    +关注

    关注

    0

    文章

    73

    浏览量

    39892
  • GPIO
    +关注

    关注

    16

    文章

    1151

    浏览量

    50868
收藏 人收藏

    评论

    相关推荐

    通过RT-Thread Studio配置AB32VG1片上外设GPIO引脚控制RGB彩灯

    本篇文章通过 RT-Thread Studio 配置 AB32VG1 片上外设 GPIO引脚
    的头像 发表于 11-03 17:38 1.2w次阅读
    通过<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b><b class='flag-5'>配置</b>AB32VG1片上<b class='flag-5'>外设</b><b class='flag-5'>GPIO</b><b class='flag-5'>引脚</b>控制RGB彩灯

    如何在RT-Thread Studio完成对RA2L1板的环境搭建以及gpio的输入输出检测?

    有幸参加RT-Thread的活动,体验RT-Thread Studio 和瑞萨 CPK-RA2L1评估板。本篇文章主要讲解如何在RT-Thread
    的头像 发表于 09-28 15:51 2307次阅读
    如何在<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>完成对RA2L1板的环境搭建以及<b class='flag-5'>gpio</b>的输入输出检测?

    RT-Thread Studio配置rtthread CANFD驱动来控制M3508电机

    本文旨在RT-Thread Studio配置rtthread CANFD驱动来控制M3508电机,不涉及任何原理 开发环境:RT-Thread
    发表于 10-08 11:44 692次阅读
    在<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>上<b class='flag-5'>配置</b>rtthread CANFD驱动来控制M3508电机

    怎么在 RT-Thread Studio 使用 RT-Thread Nano

    请教一下如何在 RT-Thread Studio 使用 RT-Thread Nano?
    发表于 04-02 07:27

    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快速配置GPIO进行点灯

    本章通过RT-Thread Studio配置AB32VG1片上外设GPIO引脚,控制RGB彩灯
    发表于 12-14 18:44 10次下载
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>快速<b class='flag-5'>配置</b><b class='flag-5'>GPIO</b>进行点灯

    RT-Thread Studio配置连接WIFI模块

    通过 RT-Thread Studio 配置 AB32VG1 片上外设 UART1 ,搭载 at_device 软件包连接WIFI模块
    发表于 12-20 19:11 16次下载
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b><b class='flag-5'>配置</b>连接WIFI模块

    RT-Thread Studio驱动SD卡

    RT-Thread Studio驱动SD卡前言一、创建基本工程1、创建Bootloader2、创建项目工程二、配置RT-Thread Settings三、代码分析1.引入库2.读入数据
    发表于 12-27 19:13 20次下载
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>驱动SD卡

    如何通过RT-Thread Studio配置片上外设UART

    通过 RT-Thread Studio 配置 AB32VG1 片上外设 UART 的功能,实现开发板和 PC 进行 通信。 1.2. 模块介绍 AB32VG1 的串口 0 被用作系统调
    的头像 发表于 08-21 09:53 1696次阅读
    如何通过<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b><b class='flag-5'>配置</b>片上<b class='flag-5'>外设</b>UART

    基于RT-Thread Studio学习

    前期准备:从官网下载 RT-Thread Studio,弄个账号登陆,开启rt-thread学习之旅。
    的头像 发表于 05-15 11:00 2915次阅读
    基于<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>学习

    使用RT-Thread Studio进行智能家居终端的设计

    本次方案基于星火一号开发板开发,使用RT-Thread Studio进行工程创建,代码编辑,RT-Thread配置,调试配置,程序下载等功能
    的头像 发表于 07-28 16:41 1565次阅读
    使用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>进行智能家居终端的设计

    通过RT-Thread Studio配置N32L406片上外设DAC的功能

    本文通过 RT-Thread Studio 配置 N32L406 片上外设 DAC 的功能,通过使用dac_open,dac_write,dac_close函数实现DAC的使用,不需要
    的头像 发表于 08-15 14:32 980次阅读
    通过<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b><b class='flag-5'>配置</b>N32L406片上<b class='flag-5'>外设</b>DAC的功能

    试用RT-Thread Studio(VSCode)

    想尝试RT-Thread studio (VSCode),先下载安装VSCode,再搜索RT-Thread
    的头像 发表于 10-12 10:58 706次阅读
    试用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>(VSCode)