女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

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

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

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

團隊成員

萬兆華 學(xué)生

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

硬件主要采用:

  1. AB32VG1開發(fā)板

  2. SSD1306單色OLED屏幕

  3. USB轉(zhuǎn)TTL模塊

IMG_20220115_232424.jpg

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


軟件說明

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

image.png

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

RGB驅(qū)動主要操作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

可以查看當(dāng)前的內(nèi)核線程與用戶線程、CPU占用率、線程狀態(tài)等信息。

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

演示效果

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

附件

(5.02 MB)下載

評論區(qū)(0 )