在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

聚豐項目 > 基于RTT與AB32VG1的智能彩燈與OLED屏顯示

基于RTT與AB32VG1的智能彩燈與OLED屏顯示

基于RT-Thread實時操作系統,以多線程的方式輪詢調度RGB彩燈閃爍與OLED屏幕顯示,同時使用FinSH組件通過串口與RTT系統進行交互。

煙火里的塵埃7 煙火里的塵埃7

分享
2 喜歡這個項目
團隊介紹

煙火里的塵埃7 煙火里的塵埃7

團隊成員

萬兆華 學生

分享
項目簡介
基于RT-Thread實時操作系統,以多線程的方式輪詢調度RGB彩燈閃爍與OLED屏幕顯示,同時使用FinSH組件通過串口與RTT系統進行交互。
硬件說明

硬件主要采用:

  1. AB32VG1開發板

  2. SSD1306單色OLED屏幕

  3. USB轉TTL模塊

IMG_20220115_232424.jpg

如上圖所示,將OLED的SDA與SCL引腳分別連接至AB32VG1開發板的PE2與PE3引腳,USB轉TTL模塊的TX連接板子的RX1,RX連接板子的TX1。


軟件說明

使用env工具配置本次開發所需要的組件和軟件包,在RT-Thread Studio軟件中查看配置如下:

image.png

使用ssd1306軟件包用模擬IIC協議驅動OLED屏幕,同時創建屏幕顯示線程,入口函數功能主要為顯示“RT-Thread”字樣,tick配置為30。

RGB驅動主要操作GPIO,主要代碼如下:

#define LED_R_PIN rt_pin_get("PE.1")
#define LED_G_PIN rt_pin_get("PE.4")
#define LED_B_PIN rt_pin_get("PA.1")

//定義顏色枚舉
typedef enum
{
    white = 0,  //白色
    black = 1,  //黑色
    red   = 2,  //紅
    green = 3,  //綠
    blue  = 4,  //藍色
    yellow= 5,  //黃色
    violet= 6,  //紫色
    cyan  = 7,  //青色
}led_t;

void led_init(void)
{
    rt_pin_mode(LED_R_PIN, PIN_MODE_OUTPUT);
    rt_pin_mode(LED_G_PIN, PIN_MODE_OUTPUT);
    rt_pin_mode(LED_B_PIN, PIN_MODE_OUTPUT);
}


/**
  * @brief   RGB led color control
  * @param   color
  * @return
  */
void led_color(led_t color)
{
    switch(color)
    {
        case white:
            rt_pin_write(LED_R_PIN, PIN_LOW);
            rt_pin_write(LED_G_PIN, PIN_LOW);
            rt_pin_write(LED_B_PIN, PIN_LOW);
            break;
        case black:
            rt_pin_write(LED_R_PIN, PIN_HIGH);
            rt_pin_write(LED_G_PIN, PIN_HIGH);
            rt_pin_write(LED_B_PIN, PIN_HIGH);
            break;
        case red:
            rt_pin_write(LED_R_PIN, PIN_LOW);
            rt_pin_write(LED_G_PIN, PIN_HIGH);
            rt_pin_write(LED_B_PIN, PIN_HIGH);
            break;
        case green:
            rt_pin_write(LED_R_PIN, PIN_HIGH);
            rt_pin_write(LED_G_PIN, PIN_LOW);
            rt_pin_write(LED_B_PIN, PIN_HIGH);
            break;
        case blue:
            rt_pin_write(LED_R_PIN, PIN_HIGH);
            rt_pin_write(LED_G_PIN, PIN_HIGH);
            rt_pin_write(LED_B_PIN, PIN_LOW);
            break;
        case yellow:
            rt_pin_write(LED_R_PIN, PIN_LOW);
            rt_pin_write(LED_G_PIN, PIN_LOW);
            rt_pin_write(LED_B_PIN, PIN_HIGH);
            break;
        case violet:
            rt_pin_write(LED_R_PIN, PIN_LOW);
            rt_pin_write(LED_G_PIN, PIN_HIGH);
            rt_pin_write(LED_B_PIN, PIN_LOW);
            break;
        case cyan:
            rt_pin_write(LED_R_PIN, PIN_HIGH);
            rt_pin_write(LED_G_PIN, PIN_LOW);
            rt_pin_write(LED_B_PIN, PIN_LOW);
            break;
        default:
            break;
    }
}

通常串口可以直接與OS交互,交互界面圖如下:

image.png

可以查看當前的內核線程與用戶線程、CPU占用率、線程狀態等信息。

項目代碼開源地址(gitee):https://gitee.com/Isaac_wan/rtt.git

演示效果

最后演示效果如視頻所示,RGB以7種不同的顏色輪詢顯示(算上黑色就是8種/doge),屏幕上顯示“RT-Thread”。

附件

(5.02 MB)下載

評論區(0 )
主站蜘蛛池模板: 美女扒开尿囗给男人玩的动图 | 婷婷 综合网站 | 555夜色555亚洲夜色 | 欧美大全 | 色偷偷免费视频 | 亚洲国产成+人+综合 | 色婷婷激婷婷深爱五月小说 | 妖精视频永久在线入口 | 国产成年女一区二区三区 | 国内真实实拍伦视频在线观看 | 欧美另类69xxxxx性欧 | 日本成人免费在线视频 | 把小嫩嫩曰出白浆 | 国产精品亚洲色图 | 国产黄色在线看 | 国产又大又黄又粗又爽 | 日本a级在线| 亚洲第一在线播放 | 久操精品在线观看 | 九九福利视频 | 欧美精品一区视频 | 九九精品国产兔费观看久久 | 天天在线影院 | 亚洲视频一二 | 亚洲最大的黄色网址 | 夜夜操伊人 | 国产成人精品高清免费 | 人人插人人艹 | 午夜刺激爽爽视频免费观看 | 天天操天天看 | 福利久久| 亚洲精品在线免费观看视频 | 丁香激情六月天 | 丁香六月色婷婷 | 日本不卡视频一区二区三区 | www.精品视频 | 日本三黄色大 | 激情综合激情五月 | 欧美高清成人videosex | 狠狠色噜噜狠狠狠狠999米奇 | 久久99久久精品国产只有 |