0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RTT大賽作品:AB32VG1開發(fā)板—RGB交替閃爍

嵌入式開發(fā) ? 來源:AB32VG1開發(fā)筆記 ? 作者:AB32VG1開發(fā)筆記 ? 2021-11-06 18:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【RTT大賽作品連載】AB32VG1開發(fā)板——RGB交替閃爍

1. 實(shí)驗(yàn)?zāi)康?/strong>

讓板載 RGB 燈交替閃爍

2. 開發(fā)板硬件平臺

poYBAGGGRgCAejjsABX3VGGeJIc209.png

RGB燈硬件電路,可知,使用 RGB 燈組要使用

PE1 —— 紅

PA1 —— 藍(lán)

PE4 —— 綠

pYYBAGGGXsmAObtfAABjOi7lL1M212.png

poYBAGGGXteARcgAAABNgTuU8OE787.png

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;
};   //  定義一個(gè) RGB 結(jié)構(gòu)體

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");
    //  設(shè)置引腳為輸出方式
    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");
}

//傳入?yún)?shù)  on=1:對應(yīng)亮,on=0:對應(yīng)滅
//紅燈驅(qū)動
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);
    }
}
//藍(lán)燈驅(qū)動
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);
    }
}
//綠燈驅(qū)動
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. 程序編譯下載

編譯程序,點(diǎn)擊小錘子即可。

pYYBAGGGRnmADAsxAAKXmT_LCcc372.png

下載程序

打開我們下載的Downloader軟件,雙擊Downloader.exe

配置連接串口,千萬不要搞錯(cuò)串口號哦。

選擇工程目錄下的\Debug\rtthread.dcf,這里我的完整目錄是

D:\RT-ThreadStudio\workspace\ab32vg1_demo\Debug\rtthread.dcf

點(diǎn)擊開始即可下載成功

poYBAGGGRoeAOoWjAAEzlPzfcAs365.png

5. 實(shí)驗(yàn)現(xiàn)象:

download 串口打印 msh 控制臺信息。

板載RGB燈,紅色綠色藍(lán)色交替閃爍。

6. 總結(jié)

每一個(gè)偉大的程序員都要從 led 及 helloworld 開始,哈哈。

編輯:fqj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6066

    文章

    44951

    瀏覽量

    648552
  • RTT
    RTT
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

    17575
  • 中科藍(lán)訊
    +關(guān)注

    關(guān)注

    9

    文章

    61

    瀏覽量

    10184
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

  • 情绝艳芳华1

評論

相關(guān)推薦
熱點(diǎn)推薦

有ARM,NPU,F(xiàn)PGA三種核心的開發(fā)板 — 米爾安路飛龍派開發(fā)板

,是A股首家專注于FPGA業(yè)務(wù)的上市公司。YM90X開發(fā)板用的就是安路的SALDRAGON1(飛龍1,以下簡稱DR1)系列FPSoC。FPSoC就是將ARM、NPU和
的頭像 發(fā)表于 06-13 08:03 ?382次閱讀
有ARM,NPU,F(xiàn)PGA三種核心的<b class='flag-5'>開發(fā)板</b> — 米爾安路飛龍派<b class='flag-5'>開發(fā)板</b>

【新品】遠(yuǎn)距離圖傳數(shù)傳模塊開發(fā)板、藍(lán)牙模塊開發(fā)板、無線模塊開發(fā)板

新品上市圖傳數(shù)傳模塊開發(fā)板藍(lán)牙模塊開發(fā)板國產(chǎn)無線模塊開發(fā)板部分型號參與送樣文末了解詳情↓↓↓EWT611-900NW20S遠(yuǎn)距離圖傳數(shù)傳模塊開發(fā)板EWT611-900NW20S是一款入
的頭像 發(fā)表于 06-12 19:33 ?236次閱讀
【新品】遠(yuǎn)距離圖傳數(shù)傳模塊<b class='flag-5'>開發(fā)板</b>、藍(lán)牙模塊<b class='flag-5'>開發(fā)板</b>、無線模塊<b class='flag-5'>開發(fā)板</b>

【免費(fèi)試用】倒計(jì)時(shí)六天!RISC-V、OH、RK開發(fā)板等你來申請!

技術(shù)人的狂歡,開發(fā)者的盛宴!2025年最值得期待的硬核賽事——電子發(fā)燒友開發(fā)板評測大賽正式啟動!無論你是開源生態(tài)的探索者、芯片架構(gòu)的極客,還是物聯(lián)網(wǎng)領(lǐng)域的創(chuàng)新達(dá)人,本次大賽
的頭像 發(fā)表于 06-10 08:05 ?158次閱讀
【免費(fèi)試用】倒計(jì)時(shí)六天!RISC-V、OH、RK<b class='flag-5'>開發(fā)板</b>等你來申請!

【免費(fèi)試用】開發(fā)板評測大賽開啟!OH 、RISC-V、Rockchip頂級開發(fā)板等你試用~

技術(shù)人的狂歡,開發(fā)者的盛宴!2025年最值得期待的硬核賽事——電子發(fā)燒友開發(fā)板評測大賽正式啟動!無論你是開源生態(tài)的探索者、芯片架構(gòu)的極客,還是物聯(lián)網(wǎng)領(lǐng)域的創(chuàng)新達(dá)人,本次大賽
的頭像 發(fā)表于 06-05 08:05 ?234次閱讀
【免費(fèi)試用】<b class='flag-5'>開發(fā)板</b>評測<b class='flag-5'>大賽</b>開啟!OH 、RISC-V、Rockchip頂級<b class='flag-5'>開發(fā)板</b>等你試用~

T527開發(fā)板+OpenHarmony評測大賽邀你來戰(zhàn)!0元參與,贏百元禮品

【電子發(fā)燒友開發(fā)板評測大賽】正式啟動,等你來戰(zhàn)!本次大賽以“評測性能、探索易用性、解鎖創(chuàng)新場景”為核心,旨在通過深度技術(shù)分享與實(shí)戰(zhàn)演練,推動硬件生態(tài)開放共享,加速產(chǎn)品迭代創(chuàng)新,激發(fā)行業(yè)創(chuàng)造力。
的頭像 發(fā)表于 05-30 08:05 ?409次閱讀
T527<b class='flag-5'>開發(fā)板</b>+OpenHarmony評測<b class='flag-5'>大賽</b>邀你來戰(zhàn)!0元參與,贏百元禮品

一個(gè)不錯(cuò)的活動:電子發(fā)燒友開發(fā)板評測大賽

“ ?湊齊了 OpenHarmony,Risc-V,Rocketchip 三大賽道 21 款來自不同廠家的開發(fā)板,可免費(fèi)申請?jiān)囉谩?” ? 電子發(fā)燒友開發(fā)板評測大賽正式啟動!無論你是開
的頭像 發(fā)表于 05-21 11:19 ?135次閱讀
一個(gè)不錯(cuò)的活動:電子發(fā)燒友<b class='flag-5'>開發(fā)板</b>評測<b class='flag-5'>大賽</b>

開發(fā)板評測大賽開啟!頂級開發(fā)板等你來戰(zhàn)!

技術(shù)人的狂歡,開發(fā)者的盛宴!2025年最值得期待的硬核賽事——電子發(fā)燒友開發(fā)板評測大賽正式啟動!無論你是開源生態(tài)的探索者、芯片架構(gòu)的極客,還是物聯(lián)網(wǎng)領(lǐng)
的頭像 發(fā)表于 05-20 08:07 ?123次閱讀
<b class='flag-5'>開發(fā)板</b>評測<b class='flag-5'>大賽</b>開啟!頂級<b class='flag-5'>開發(fā)板</b>等你來戰(zhàn)!

2025電子發(fā)燒友開發(fā)板評測大賽開啟!三大賽道火力全開,頂級開發(fā)板等你來戰(zhàn)!

技術(shù)人的狂歡,開發(fā)者的盛宴! 2025年最值得期待的硬核賽事——電子發(fā)燒友開發(fā)板評測大賽正式啟動!無論你是開源生態(tài)的探索者、芯片架構(gòu)的極客,還是物聯(lián)網(wǎng)領(lǐng)域的創(chuàng)新達(dá)人,本次大賽
發(fā)表于 05-15 15:09

dfd#電路知識 #RTT設(shè)計(jì)大賽

RTT
jf_34552825
發(fā)布于 :2025年05月08日 19:50:18

免費(fèi)送30套開發(fā)板!米爾-安路飛龍派創(chuàng)意秀限時(shí)活動

大賽簡介為鼓勵(lì)工程師勇于創(chuàng)新探索的精神,提升實(shí)踐動手能力,更深度的體驗(yàn)安路飛龍派產(chǎn)品,米爾電子發(fā)起“米爾基于安路DR1M90開發(fā)板創(chuàng)意秀”,提供米爾安路DR1M90
的頭像 發(fā)表于 04-02 08:06 ?305次閱讀
免費(fèi)送30套<b class='flag-5'>開發(fā)板</b>!米爾-安路飛龍派創(chuàng)意秀限時(shí)活動

正點(diǎn)原子fpga開發(fā)板不同型號

正點(diǎn)原子作為國內(nèi)領(lǐng)先的FPGA開發(fā)板供應(yīng)商,其產(chǎn)品線覆蓋了從入門級到高端應(yīng)用的各個(gè)領(lǐng)域。這些開發(fā)板不僅適用于學(xué)術(shù)研究,還廣泛應(yīng)用于工業(yè)控制、通信、圖像處理等多個(gè)領(lǐng)域。 1. 入門級開發(fā)板
的頭像 發(fā)表于 11-13 09:30 ?3452次閱讀

【干貨】性價(jià)比拉滿!HK32F407VG開發(fā)板介紹

開發(fā)板簡介開發(fā)板是基于航順芯片公司F4系列HK32F407VGT7芯片的一款開發(fā)板,Cortex-M4內(nèi)核,最高主頻168MHz,內(nèi)置1MKBFlash和256KBSRAM,SDIO、
的頭像 發(fā)表于 11-08 13:27 ?728次閱讀
【干貨】性價(jià)比拉滿!HK32F407<b class='flag-5'>VG</b><b class='flag-5'>開發(fā)板</b>介紹

51開發(fā)板芯片資料

51開發(fā)板芯片資料
發(fā)表于 09-18 09:29 ?1次下載

機(jī)智云ESP8266開發(fā)板RGB彩燈控件

用戶帶來了全新的家居體驗(yàn)。無論是個(gè)性化的燈光設(shè)置,還是智能化的遠(yuǎn)程管理,這款產(chǎn)品都展現(xiàn)了其在智能家居領(lǐng)域的引領(lǐng)地位。機(jī)智云esp8266開發(fā)板RGB彩燈控件1、將
的頭像 發(fā)表于 08-09 08:10 ?737次閱讀
機(jī)智云ESP8266<b class='flag-5'>開發(fā)板</b><b class='flag-5'>RGB</b>彩燈控件

智能家居之旅(7):HomeAssistant開發(fā)板RGB顏色

怎么上HomeAssistant,然后控制Ai-M61開發(fā)板RGB 燈的顏色,感覺這個(gè)項(xiàng)目用來控制家里的燈條就挺不錯(cuò)的。 彩燈實(shí)體創(chuàng)建 1.彩燈實(shí)體資源啟用 彩燈實(shí)體在 HomeAssistant
的頭像 發(fā)表于 07-03 16:39 ?782次閱讀
智能家居之旅(7):HomeAssistant<b class='flag-5'>開發(fā)板</b>的<b class='flag-5'>RGB</b>顏色

電子發(fā)燒友

中國電子工程師最喜歡的網(wǎng)站

  • 2931785位工程師會員交流學(xué)習(xí)
  • 獲取您個(gè)性化的科技前沿技術(shù)信息
  • 參加活動獲取豐厚的禮品