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

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

3天内不再提示

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

MCU学习笔记 来源:MCU学习笔记 作者:MCU学习笔记 2021-11-03 17:38 次阅读

本篇文章通过 RT-Thread Studio 配置 AB32VG1 片上外设 GPIO 的引脚,控制 RGB 彩灯进行红绿蓝三色的变换。

pYYBAGGCSVqACdRoAAR9iZ-dG5o697.png

1.模块介绍开发板上板载一个三色 RGB 彩灯,电路原理图如下图示。

poYBAGGCSXSAEnmpAAA4DqE-C0A277.png

pYYBAGGCSYuAfD66AAAnZTKKsEI304.png

从以上两电路图中可知,RGB彩灯阳极接3.3V电源,阴极连接电阻分别接到了LED_B、LED_G、LED_R网络标签。LED_B、LED_G、LED_R网络标签通过Header短接3-4、5-6、7-8分别连接到PA1、PE1和PE4引脚上。这样只要控制AB32VG1的PA1、PE1和PE4引脚输出低电平就可以点亮RGB,输出高电平就可以熄灭RGB。

2.工程的创建和代码的修改

poYBAGGCSReAMAHUADAMNpxU3f4353.png

如上图所示,打开RT-Thread Studio ,进入开发界面,选择文件--->新建--->RT-Thread项目,进入如下图界面,填入工程名字,工程名字自定义,重点是选择“基于开发板”这里选择AB32VG1开发板,其余保留默认即可,点击完成,项目创建成功。

poYBAGGCSSmAZMPDADAMNucStmo279.png

展开AB32VG1_RGB_GPIO项目,找到applications文件下的main.c,双击打开main.c主程序,如下图所示。

pYYBAGGCSSOAOZhAADAMNsWwxnE419.png

这里我们把代码拷贝出来,单独来分析。

#include

#include "board.h"

int main(void)

{

uint8_t pin = rt_pin_get("PE.1");

//这里rt_pin_get是获取某个引脚的函数,这里是获取PE1引脚,即pin代表PE1,这个引脚是连接红色LED的。

rt_pin_mode(pin, PIN_MODE_OUTPUT);

//rt_pin_mode是设置引脚模式,有两个参数一个是引脚编号,另一个工作模式。这里意思是配置AB32VG1的PE1引脚为输出模式

rt_kprintf("Hello, worldn");

//rtthread 内核打印函数,上电工作输出Hello, world。

while (1)

{

rt_pin_write(pin, PIN_LOW);

//rt_pin_write这个函数是向相应的引脚写入高低电平。这里向PE1写入低电平,红色的亮起。

rt_thread_mdelay(500);

//rtthread延时函数

rt_pin_write(pin, PIN_HIGH);

///这里向PE1写入低电平,红色的熄灭。

rt_thread_mdelay(500);

}

}

所以,通过上面代码分析,RT-Thread Studio默认创建的AB32VG1工程,实现RGB的红色LED闪烁的功能。那我们就可以仿照这个程序,对主程序做如下修改,即可实现RGB三色的变换闪烁。代码如下:

#include

#include "board.h"

int main(void)

{

uint8_t LED_red = rt_pin_get("PE.1");

uint8_t LED_blue = rt_pin_get("PA.1");

uint8_t LED_green = rt_pin_get("PE.4");

rt_pin_mode(LED_red, PIN_MODE_OUTPUT);

rt_pin_mode(LED_blue, PIN_MODE_OUTPUT);

rt_pin_mode(LED_green, PIN_MODE_OUTPUT);

rt_kprintf("Hello, worldn");

while (1)

{

rt_pin_write(LED_red, PIN_LOW);

rt_thread_mdelay(500);

rt_pin_write(LED_red, PIN_HIGH);

rt_thread_mdelay(500);

rt_pin_write(LED_blue, PIN_LOW);

rt_thread_mdelay(500);

rt_pin_write(LED_blue, PIN_HIGH);

rt_thread_mdelay(500);

rt_pin_write(LED_green, PIN_LOW);

rt_thread_mdelay(500);

rt_pin_write(LED_green, PIN_HIGH);

rt_thread_mdelay(500);

}

}

修改好之后,编译程序没有错误,利用downloader下载程序至开发板即可,运行效果如下图所示。

poYBAGGCSLCACuOJAD4-UV1BlBs484.png

poYBAGGCSK2AWJhlABDBMi_4TCA569.png

poYBAGGCSK2AdMrYABDn4buLtYU936.png

编辑:fqj

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

    关注

    4

    文章

    763

    浏览量

    57412
  • 开发板
    +关注

    关注

    25

    文章

    4429

    浏览量

    93999
  • 中科蓝讯
    +关注

    关注

    8

    文章

    50

    浏览量

    9630
收藏 人收藏

    评论

    相关推荐

    RT-Thread设计大赛】基于AB32VG1的嵌入式网盘

    RT-Thread设计大赛】基于AB32VG1的嵌入式移动网盘
    的头像 发表于 07-30 12:12 1933次阅读
    【<b class='flag-5'>RT-Thread</b>设计大赛】基于<b class='flag-5'>AB32VG1</b>的嵌入式网盘

    AB32开发板测评:GPIO控制RGB彩灯 相关资料下载

    最近参加了RT-Thread社区的一个活动,报名了一款开发板的测评,有幸成为第一批测评人员,申请了一块中科蓝讯的开发板AB32VG1,测评任务是GPIO测试,作为点灯老手,本次测评准备使用矩阵
    发表于 07-06 06:23

    RT-Thread创新应用设计大赛】+中科蓝讯 AB32VG1开箱搭建开发环境跑demo

    rt-threadRT-Thread 源代码Kconfigmenuconfig 使用的文件README.mdBSP 说明文件开发板通过 Type-C 接口进行烧录, 中科蓝讯 AB32VG1的开发板不能用
    发表于 09-29 19:50

    【文章连载】RT-Thread创新应用大赛文章汇总

    find -lhal错误处理通过RT-Thread Studio配置AB32VG1
    发表于 10-11 15:13

    RT-Thread创新应用设计大赛】AB32VG1_V2.0开发板菜鸟上手GPIO实践点灯

    /download.html#studio需要通过RT-Thread SDK管理器安装如下资源包:RT-Thread Source Code(latest版本)RISC-V-GCC工具
    发表于 10-17 02:29

    RT-Thread创新应用设计大赛】 1. AB32VG1开发环境搭建

    先看看开发板靓照:AB32VG1 开发板是以中科蓝讯 (Bluetrum) 公司推出的基于 RISC-V 架构的高配置芯片 AB32VG1 为核心所组成的。板载资源:CPU: AB32VG1
    发表于 10-19 21:31

    RT-Thread创新应用设计大赛】AB32VG1开发板入手

    看到网上基于RT-ThreadAB32VG1开发板的创新应用大赛通知,便根据自己工作的内爱好进行了申请,没想到申请通过。本人以前没有使用过RT-Thread,正好利用这次大赛学习一下
    发表于 11-01 22:01

    如何搭建AB32VG1 RT-Thread开发环境?

    如何搭建AB32VG1 RT-Thread开发环境?
    发表于 02-16 06:08

    初识AB32VG1开发板

    和开发板下载程序的方法。AB32VG1通过29脚PA7,连接串口的RXD,并且通过200欧姆电阻连接TXD实现的。只需要一个IO就是实现了升级程序功能,这是比较少见的。更难得的是配合rt-t
    发表于 09-07 16:28

    AB32开发板测评:GPIO控制RGB彩灯

    最近参加了RT-Thread社区的一个活动,报名了一款开发板的测评,有幸成为第一批测评人员,申请了一块中科蓝讯的开发板AB32VG1,测评任务是GPIO测试,作为点灯老手,本次测评准备使用矩阵
    发表于 12-08 15:06 14次下载
    <b class='flag-5'>AB</b>32开发板测评:<b class='flag-5'>GPIO</b><b class='flag-5'>控制</b><b class='flag-5'>RGB</b><b class='flag-5'>彩灯</b>

    RT-Thread Studio快速配置GPIO进行点灯

    本章通过RT-Thread Studio配置AB32VG1片上外设
    发表于 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>进行点灯

    AB32VG1 RT-Thread 开发环境搭建

    是:RISC-V,RISC是精简指令集计算机,V的意思应该是【第五版】RT-Thread Studio 目前已经支持 AB32VG1开发板,所以,搭建一个RT-Thread的开发环境环
    发表于 12-20 19:09 22次下载
    <b class='flag-5'>AB32VG1</b> <b class='flag-5'>RT-Thread</b> 开发环境搭建

    RT-Thread Studio配置连接WIFI模块

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

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

    通过 RT-Thread Studio 配置 AB32VG1 片上外设 UART 的功能,实现开
    的头像 发表于 08-21 09:53 1598次阅读
    如何<b class='flag-5'>通过</b><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配置片上外设GPIO引脚

    通过 RT-Thread Studio 配置 AB32VG1 片上外设
    的头像 发表于 08-21 09:49 2531次阅读
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b><b class='flag-5'>配置</b>片上<b class='flag-5'>外设</b><b class='flag-5'>GPIO</b>的<b class='flag-5'>引脚</b>