【RTT大賽作品連載】AB32VG1開發板——RGB交替閃爍
1. 實驗目的
讓板載 RGB 燈交替閃爍
2. 開發板硬件平臺

RGB燈硬件電路,可知,使用 RGB 燈組要使用
PE1 —— 紅
PA1 —— 藍
PE4 —— 綠


3. 軟件編寫
在 application 目錄下,新建 rgb.c 和 rgb.h
//rgb.c
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2021-11-06 Administrator the first version
*/
#include "rgb.h"
#include "rtthread.h"
#include "board.h"
struct Led_s
{
uint8_t LED_R;
uint8_t LED_B;
uint8_t LED_G;
}; // 定義一個 RGB 結構體
struct Led_s Led;
rt_thread_t rgb_thread = RT_NULL;
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.1");
// 設置引腳為輸出方式
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);
rt_kprintf("rgb init success\n");
}
//傳入參數 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);
}
}
void rgb_switch(void)
{
static uint8_t led_num = 0;
if(led_num == 0)
RGB_Red(1);
else if(led_num == 1)
RGB_Blue(1);
else if(led_num == 2)
RGB_Green(1);
led_num++;
if(led_num == 3)
led_num = 0;
}
void rgb_thread_entry(void* p)
{
RGB_Init();
while(1)
{
rt_thread_mdelay(500);
rgb_switch();
}
}
static int Thread_RGB(void)
{
rgb_thread = rt_thread_create("rgb", rgb_thread_entry, RT_NULL, 512, 10, 10);
if(rgb_thread == RT_NULL)
{
rt_kprintf("Thread_GRB Init ERROR");
return RT_ERROR;
}
rt_thread_startup(rgb_thread);
}
INIT_APP_EXPORT(Thread_RGB);
//rgb.h
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2021-11-06 Administrator the first version
*/
#ifndef APPLICATIONS_RGB_H_
#define APPLICATIONS_RGB_H_
#endif /* APPLICATIONS_RGB_H_ */
修改main.c
/*
* Copyright (c) 2020-2021, Bluetrum Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2020/12/10 greedyhao The first version
*/
/**
* Notice!
* All functions or data that are called during an interrupt need to be in RAM.
* You can do it the way exception_isr() does.
*/
#include
#include "board.h"
int main(void)
{
rt_kprintf("Hello, world\n");
while (1)
{
rt_thread_mdelay(500);
rt_thread_mdelay(500);
}
}
4. 程序編譯下載
編譯程序,點擊小錘子即可。

下載程序
打開我們下載的Downloader軟件,雙擊Downloader.exe
配置連接串口,千萬不要搞錯串口號哦。
選擇工程目錄下的\Debug\rtthread.dcf,這里我的完整目錄是
D:\RT-ThreadStudio\workspace\ab32vg1_demo\Debug\rtthread.dcf
點擊開始即可下載成功

5. 實驗現象:
download 串口打印 msh 控制臺信息。
板載RGB燈,紅色綠色藍色交替閃爍。
6. 總結
每一個偉大的程序員都要從 led 及 helloworld 開始,哈哈。
編輯:fqj
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
單片機
+關注
關注
6076文章
45494瀏覽量
670245 -
RTT
+關注
關注
0文章
66瀏覽量
18273 -
中科藍訊
+關注
關注
10文章
66瀏覽量
10661
發布評論請先 登錄
相關推薦
熱點推薦
【獲獎名單】2025開發板評測大賽優秀開發者、最受歡迎開發板公布
各位發燒友們,大家好!2025開發板試用評測大賽已圓滿落幕。經過廠商與發燒友平臺的共同評選,優秀作品及人選名單現已評選完成,共選出24位優秀作品開發
發表于 11-21 09:31
[投票評選]2025電子發燒友開發板測評大賽--最受歡迎開發板
call吧,助力開發者生態持續成長!
投票入口:
2025電子發燒友開發板測評大賽--最受歡迎開發板
本次投票結果,將作為平臺后續挑選試用產品重要參考,歡迎大家踴躍參加哦~
發表于 10-13 16:25
【作品合集】飛凌嵌入式OK527N-C開發板測評
Core_DSC280025C開發板測評作品合集
第十六期合集 : 潤開鴻HH-SCDAYU800A開發板測評作品合集
第十七期合集 : 視美泰M-K
發表于 09-22 15:54
【作品合集】視美泰M-K1HSE、3568開發板測評
視美泰M-K1HSE、3568開發板測評作品合集
產品介紹:
M-KIHSE開發板:
M-KIHSE開發板是一款基于進選時空K
發表于 09-22 10:32
【作品合集】中科昊芯Core_DSC280025C開發板測評
中科昊芯Core_DSC280025C開發板測評作品合集
產品介紹:
Core_DSC280025C核心板使用了昊芯HXS320F28025CRISC-V DSP芯片,該芯片集成了吳芯自主研發
發表于 09-18 10:52
【作品合集】玄鐵Banana Pi BPI-RV2開發板測評
玄鐵Banana Pi BPI-RV2開發板測評作品合集
產品介紹:
Banana Pi BPI-RV2 開源網關是?款基于矽昌 SF21H8898 SoC的設備,1 × 2.5 G WAN?絡接
發表于 09-17 10:58
【作品合集】合眾HZ-T536開發板測評
合眾HZ-T536開發板測評作品合集
產品介紹:
HZ-T536_MiniEVM是一款基于全志T536系列處理器設計的工業評估板,集成了4核Cortex-A55和RISC-V E907協處理器。該
發表于 09-12 09:37
【作品合集】米爾RK3576開發板測評
米爾RK3576開發板測評作品合集
產品介紹:
RK3576 是瑞芯微一款面向AI市場推出的高性能處理器,它配備了四核Cortex-A72和四
核Cortex-A53 的 CPU,集成了6TOPS
發表于 09-11 10:19
【作品合集】創龍科技TLT113/TL3562-MiniEVM開發板測評
創龍科技TLT113/TL3562-MiniEVM開發板測評作品合集
產品介紹:
創龍科技 TLT113 - MiniEVM基于全志科技 T113 - I,采用雙核 ARM Cortex - A7
發表于 09-02 11:25
【免費試用】開發板評測大賽開啟!OH 、RISC-V、Rockchip頂級開發板等你試用~
技術人的狂歡,開發者的盛宴!2025年最值得期待的硬核賽事——電子發燒友開發板評測大賽正式啟動!無論你是開源生態的探索者、芯片架構的極客,還是物聯網領域的創新達人,本次大賽三
一個不錯的活動:電子發燒友開發板評測大賽
“ ?湊齊了 OpenHarmony,Risc-V,Rocketchip 三大賽道 21 款來自不同廠家的開發板,可免費申請試用。 ” ? 電子發燒友開發板評測大賽正式啟動!無論你是開
2025電子發燒友開發板評測大賽開啟!三大賽道火力全開,頂級開發板等你來戰!
技術人的狂歡,開發者的盛宴!
2025年最值得期待的硬核賽事——電子發燒友開發板評測大賽正式啟動!無論你是開源生態的探索者、芯片架構的極客,還是物聯網領域的創新達人,本次大賽三
發表于 05-15 15:09
RTT大賽作品:AB32VG1開發板—RGB交替閃爍
評論