中科蓝讯 AB32VG1 开发板 GPIO 控制RGB彩灯实验

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

图片

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

图片

       从以上两电路图中可知,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.工程的创建和代码的修改

图片

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

图片

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

图片

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

#include <rtthread.h>

#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, world\n");

//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 <rtthread.h>

#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, world\n");

    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下载程序至开发板即可,运行效果如下图所示。

图片

图片

图片

视频地址:中科蓝讯 AB32VG1 上的RGB彩灯控制实验

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
7寸RGB屏幕PCB原理图是指用于设计和制造7寸RGB屏幕驱动电路的电路板原理图。PCB(Printed Circuit Board)即印制电路板,是一种用于连接和支持电子组件的导电板。 在设计7寸RGB屏幕的PCB原理图时,需要考虑以下几个主要电路部分: 1. 电源电路:用于为RGB屏幕提供所需的电源电压和电流。这包括对直流电源进行稳压和滤波,以确保稳定的电源和减小噪音。 2. 控制电路:用于控制RGB屏幕的显示内容和亮度。这部分主要包括芯片和控制逻辑的接口,用于接收来自外部设备的图像或视频信号,并进行相应的处理和驱动。 3. 驱动电路:用于驱动RGB屏幕的每个像素点。这部分主要包括数个驱动通道,每个通道负责控制一种颜色(红、绿、蓝)的亮度和灰阶,以实现图像的显示。 4. 通信接口:用于与外部设备进行数据传输和通信。这部分主要包括各种通信接口,如HDMI、VGA、LVDS等,可根据需要选择合适的接口类型。 5. 辅助电路:包括电源保护电路、时钟电路、复位电路等,以提供电路的稳定性和可靠性。 在绘制7寸RGB屏幕PCB原理图时,需要根据具体屏幕的规格、驱动芯片和控制逻辑进行设计。同时,还需要考虑电路的布局和连接方式,以提高电路的性能和稳定性。在设计过程中,需要遵循电路设计的原则和规范,确保电路的正常工作。 以上是关于7寸RGB屏幕PCB原理图的简要回答,涵盖了主要电路部分和设计要点。具体的PCB设计还需要根据实际情况和要求进行详细设计和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值