1679|1

4

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

【中科蓝讯AB32VG1 RISC-V板“碰上”RTT】GPIO模拟实现全彩LED灯 [复制链接]

  本帖最后由 臭弟弟 于 2021-4-16 15:44 编辑

1、开发环境:
    RT-Thread版本:4.0.3
    操作系统:Windows 10
    RT-Thread Studio版本:2.1.0

    微控制器: AB32VG1(32位 RISC-V 处理器)

2、板载介绍

    开发板的资料比较少,下图是通过RT-Thread Studio获得的资料信息。本文将通过GPIO模拟控制RGB LED灯实现全彩控制。

LED对应的IO口
LED-R PE1
LED-G PE4
LED-B PA2

3、环境搭建

    环境的搭建主要是RT-Thread Studio安装与包管理、项目的创建于配置和程序下载。环境的配置是参考博客文章环境搭建参考

4、实现全彩LED灯闪烁

(1)LED灯电路图

 

 

 

 

 

 

 

 

 

 

 

 

 

LED灯采用共阳极连接。

(2)实现代码

    

/**Includes*********************************************************************/
#include <rtthread.h>
#include "board.h"

 

int main(void)
{
    uint32_t cnt = 0;

    uint8_t pin_r = rt_pin_get("PE.1");
    uint8_t pin_g = rt_pin_get("PE.4");
    uint8_t pin_b = rt_pin_get("PA.2");


    rt_pin_mode(pin_r, PIN_MODE_OUTPUT);
    rt_pin_mode(pin_g, PIN_MODE_OUTPUT);
    rt_pin_mode(pin_b, PIN_MODE_OUTPUT);


    while (1)
    {
        //红
        rt_pin_write(pin_r, PIN_LOW);
        rt_pin_write(pin_g, PIN_HIGH);
        rt_pin_write(pin_b, PIN_HIGH);
        rt_thread_mdelay(1000);

        //绿
        rt_pin_write(pin_r, PIN_HIGH);
        rt_pin_write(pin_g, PIN_LOW);
        rt_pin_write(pin_b, PIN_HIGH);
        rt_thread_mdelay(1000);

        //蓝
        rt_pin_write(pin_r, PIN_HIGH);
        rt_pin_write(pin_g, PIN_HIGH);
        rt_pin_write(pin_b, PIN_LOW);
        rt_thread_mdelay(1000);

        //黄(红+绿)
        rt_pin_write(pin_r, PIN_LOW);
        rt_pin_write(pin_g, PIN_LOW);
        rt_pin_write(pin_b, PIN_HIGH);
        rt_thread_mdelay(1000);

        //紫(红+蓝)
        rt_pin_write(pin_r, PIN_LOW);
        rt_pin_write(pin_g, PIN_HIGH);
        rt_pin_write(pin_b, PIN_LOW);
        rt_thread_mdelay(1000);

        //青(绿+蓝)
        rt_pin_write(pin_r, PIN_HIGH);
        rt_pin_write(pin_g, PIN_LOW);
        rt_pin_write(pin_b, PIN_LOW);
        rt_thread_mdelay(1000);

        //白(红+绿+蓝)
        rt_pin_write(pin_r, PIN_LOW);
        rt_pin_write(pin_g, PIN_LOW);
        rt_pin_write(pin_b, PIN_LOW);
        rt_thread_mdelay(1000);

        //黑(全部关闭)
        rt_pin_write(pin_r, PIN_HIGH);
        rt_pin_write(pin_g, PIN_HIGH);
        rt_pin_write(pin_b, PIN_HIGH);
        rt_thread_mdelay(1000);
        cnt++;

    }

    return 0;
}

(3)实验现象

 

 

4c4fad529663f7e9faf84dcd4b8e428a.mp4

2.95 MB, 下载次数: 0

最新回复

nmg
恭喜啊,环境搞定啦,话说最后是怎么搞定的?     详情 回复 发表于 2021-4-16 16:16
点赞 关注
 
 

回复
举报

5236

帖子

236

TA的资源

管理员

沙发
 

恭喜啊,环境搞定啦,话说最后是怎么搞定的?

 

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表