本篇文章通過 RT-Thread Studio 配置 AB32VG1 片上外設(shè) GPIO 的引腳,控制 RGB 彩燈進行紅綠藍三色的變換。
1.模塊介紹開發(fā)板上板載一個三色 RGB 彩燈,電路原理圖如下圖示。
從以上兩電路圖中可知,RGB彩燈陽極接3.3V電源,陰極連接電阻分別接到了LED_B、LED_G、LED_R網(wǎng)絡(luò)標(biāo)簽。LED_B、LED_G、LED_R網(wǎng)絡(luò)標(biāo)簽通過Header短接3-4、5-6、7-8分別連接到PA1、PE1和PE4引腳上。這樣只要控制AB32VG1的PA1、PE1和PE4引腳輸出低電平就可以點亮RGB,輸出高電平就可以熄滅RGB。
2.工程的創(chuàng)建和代碼的修改
如上圖所示,打開RT-Thread Studio ,進入開發(fā)界面,選擇文件--->新建--->RT-Thread項目,進入如下圖界面,填入工程名字,工程名字自定義,重點是選擇“基于開發(fā)板”這里選擇AB32VG1開發(fā)板,其余保留默認(rèn)即可,點擊完成,項目創(chuàng)建成功。
展開AB32VG1_RGB_GPIO項目,找到applications文件下的main.c,雙擊打開main.c主程序,如下圖所示。
這里我們把代碼拷貝出來,單獨來分析。
#include
#include "board.h"
int main(void)
{
uint8_t pin = rt_pin_get("PE.1");
//這里rt_pin_get是獲取某個引腳的函數(shù),這里是獲取PE1引腳,即pin代表PE1,這個引腳是連接紅色LED的。
rt_pin_mode(pin, PIN_MODE_OUTPUT);
//rt_pin_mode是設(shè)置引腳模式,有兩個參數(shù)一個是引腳編號,另一個工作模式。這里意思是配置AB32VG1的PE1引腳為輸出模式
rt_kprintf("Hello, worldn");
//rtthread 內(nèi)核打印函數(shù),上電工作輸出Hello, world。
while (1)
{
rt_pin_write(pin, PIN_LOW);
//rt_pin_write這個函數(shù)是向相應(yīng)的引腳寫入高低電平。這里向PE1寫入低電平,紅色的亮起。
rt_thread_mdelay(500);
//rtthread延時函數(shù)
rt_pin_write(pin, PIN_HIGH);
///這里向PE1寫入低電平,紅色的熄滅。
rt_thread_mdelay(500);
}
}
所以,通過上面代碼分析,RT-Thread Studio默認(rèn)創(chuàng)建的AB32VG1工程,實現(xiàn)RGB的紅色LED閃爍的功能。那我們就可以仿照這個程序,對主程序做如下修改,即可實現(xiàn)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下載程序至開發(fā)板即可,運行效果如下圖所示。
編輯:fqj
-
RGB
+關(guān)注
關(guān)注
4文章
798瀏覽量
58461 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97371 -
中科藍訊
+關(guān)注
關(guān)注
9文章
57瀏覽量
9868
發(fā)布評論請先 登錄
相關(guān)推薦
評論