91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于小凌派RK2206開發板-LCD液晶屏顯示案例

福州市凌睿智捷電子有限公司 ? 2022-06-13 10:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、簡介

LCD的應用很廣泛,簡單如手表上的液晶顯示屏,儀表儀器上的液晶顯示器或者是電腦筆記本上的液晶顯示器,都使用了LCD。在一般的辦公設備上也很常見,如傳真機,復印機,以及一些娛樂器材玩具等也常常見到LCD的足跡。

本小節使用的是ST7789V, 用于單片驅動262K色圖像TFT-LCD, 包含 720(240*3色) x 320 線輸出, 可以直接以SPI協議, 或者8位/9位/16位/18位并行連接外部控制器。ST7789V顯示數據存儲在片內240x320x18 bits內存中, 顯示內存的讀寫不需要外部時鐘驅動。

接下來先看本案例的實際操作視頻

二、硬件電路設計

模塊整體硬件電路如圖1所示,電路中包含了電源電路、液晶接口以及小凌派-RK2206開發板連接的相關引腳。

e49004dc-e8e6-11ec-a2f4-dac502259ad0.png

圖1 硬件電路圖

其中,液晶屏ST7789V的相關引腳資源如圖2所示。

e4bab0e2-e8e6-11ec-a2f4-dac502259ad0.png

圖2 液晶屏ST7789V硬件資源示意圖

其中,LCD液晶屏引腳功能描述,如下表1所示。

表1 LCD液晶屏引腳功能表

序號

LCD引腳

功能描述

1

D/C

指令/數據選擇端,L:指令,H:數據

2

RESET

復位信號線,低電平有效

3

SPI_MOSI

SPI數據輸入信號線

4

SPI_CLK

SPI時鐘信號線

5

SPI_CS

SPI片選信號線,低電平有效

6

GND

電源地引腳

7

5V

5V電源輸入引腳

其中,LCD液晶屏與小凌派-RK2206開發板連接如圖3所示。

e4efad42-e8e6-11ec-a2f4-dac502259ad0.png

圖3 2.4寸液晶屏和小凌派-RK2206開發板連接圖

三、軟件設計

本章節將利用小凌派-RK2206開發板上的GPIO和SPI接口方式來點亮2.4寸液晶屏,并實現ASCII字符的顯示及漢字的顯示。

1. 主程序設計

如圖4所示為LCD液晶屏主程序流程圖,開機LiteOS系統初始化后,進入主程序。主程序首先進行GPIO和SPI總線初始化,然后配置LCD液晶屏設備,最后進入循環中。在循環中,主程序控制SPI對LCD液晶屏進行ASCII字符和漢字顯示。

e52f62fc-e8e6-11ec-a2f4-dac502259ad0.png

圖4 主程序流程圖

2. LCD初始化程序設計

LCD初始化程序主要分為GPIO和SPI總線初始化,配置LCD兩部分。

其中,GPIO初始化首先用LzGpioInit()函數將GPIO0_PC3初始化為GPIO引腳,然后用LzGpioSetDir()將引腳設置為輸出模式,最后調用LzGpioSetVal()輸出低電平。

/* 初始化GPIO0_C3 */ LzGpioInit(LCD_PIN_RES); LzGpioSetDir(LCD_PIN_RES, LZGPIO_DIR_OUT); LzGpioSetVal(LCD_PIN_RES, LZGPIO_LEVEL_HIGH);

/* 初始化GPIO0_C6 */ LzGpioInit(LCD_PIN_DC); LzGpioSetDir(LCD_PIN_DC, LZGPIO_DIR_OUT); LzGpioSetVal(LCD_PIN_DC, LZGPIO_LEVEL_LOW);

SPI初始化首先用SpiIoInit()函數將GPIO0_PC0復用為SPI0_CS0n_M1,GPIO0_PC1復用為SPI0_CLK_M1,GPIO0_PC2復用為SPI0_MOSI_M1。其次調用LzI2cInit()函數初始化SPI0端口。

LzSpiDeinit(LCD_SPI_BUS);

if (SpiIoInit(m_spiBus) != LZ_HARDWARE_SUCCESS) { printf("%s, %d: SpiIoInit failed!\n", __FILE__, __LINE__); return __LINE__; } if (LzSpiInit(LCD_SPI_BUS, m_spiConf) != LZ_HARDWARE_SUCCESS) { printf("%s, %d: LzSpiInit failed!\n", __FILE__, __LINE__); return __LINE__; }

配置LCD主要是配置ST7789V的工作模式,具體代碼如下所示:

/* 重啟lcd */ LCD_RES_Clr(); LOS_Msleep(100); LCD_RES_Set(); LOS_Msleep(100); LOS_Msleep(500); lcd_wr_reg(0x11); /* 等待LCD 100ms */ LOS_Msleep(100); /* 啟動LCD配置,設置顯示和顏色配置 */ lcd_wr_reg(0X36); if (USE_HORIZONTAL == 0) { lcd_wr_data8(0x00); } else if (USE_HORIZONTAL == 1) { lcd_wr_data8(0xC0); } else if (USE_HORIZONTAL == 2) { lcd_wr_data8(0x70); } else { lcd_wr_data8(0xA0); } lcd_wr_reg(0X3A); lcd_wr_data8(0X05); /* ST7789S幀刷屏率設置 */ lcd_wr_reg(0xb2); lcd_wr_data8(0x0c); lcd_wr_data8(0x0c); lcd_wr_data8(0x00); lcd_wr_data8(0x33); lcd_wr_data8(0x33); lcd_wr_reg(0xb7); lcd_wr_data8(0x35); /* ST7789S電源設置 */ lcd_wr_reg(0xbb); lcd_wr_data8(0x35); lcd_wr_reg(0xc0); lcd_wr_data8(0x2c); lcd_wr_reg(0xc2); lcd_wr_data8(0x01); lcd_wr_reg(0xc3); lcd_wr_data8(0x13); lcd_wr_reg(0xc4); lcd_wr_data8(0x20); lcd_wr_reg(0xc6); lcd_wr_data8(0x0f); lcd_wr_reg(0xca); lcd_wr_data8(0x0f); lcd_wr_reg(0xc8); lcd_wr_data8(0x08); lcd_wr_reg(0x55); lcd_wr_data8(0x90); lcd_wr_reg(0xd0); lcd_wr_data8(0xa4); lcd_wr_data8(0xa1); /* ST7789S gamma設置 */ lcd_wr_reg(0xe0); lcd_wr_data8(0xd0); lcd_wr_data8(0x00); lcd_wr_data8(0x06); lcd_wr_data8(0x09); lcd_wr_data8(0x0b); lcd_wr_data8(0x2a); lcd_wr_data8(0x3c); lcd_wr_data8(0x55); lcd_wr_data8(0x4b); lcd_wr_data8(0x08); lcd_wr_data8(0x16); lcd_wr_data8(0x14); lcd_wr_data8(0x19); lcd_wr_data8(0x20); lcd_wr_reg(0xe1); lcd_wr_data8(0xd0); lcd_wr_data8(0x00); lcd_wr_data8(0x06); lcd_wr_data8(0x09); lcd_wr_data8(0x0b); lcd_wr_data8(0x29); lcd_wr_data8(0x36); lcd_wr_data8(0x54); lcd_wr_data8(0x4b); lcd_wr_data8(0x0d); lcd_wr_data8(0x16); lcd_wr_data8(0x14); lcd_wr_data8(0x21); lcd_wr_data8(0x20); lcd_wr_reg(0x29);

3. LCD的點數據設計

ST7789V采用SPI通信方式,數據傳輸協議如下:

4-Line Serial Interface => 16-bit/pixel(RGB 5-6-5-bit input),65K-Color,3Ah="05h"

數據傳輸時序圖如圖5所示。

e553db5a-e8e6-11ec-a2f4-dac502259ad0.png

圖5 ST7789V液晶屏SPI數據傳輸時序圖

也就是每個像素占用2個字節,RGB為5+6+5。因此,往LCD液晶屏發送某一個像素信息的程序如下所示:

static void lcd_write_bus(uint8_t dat){ LzSpiWrite(LCD_SPI_BUS, 0, &dat, 1);}

static void lcd_wr_data(uint16_t dat){ lcd_write_bus(dat >> 8); lcd_write_bus(dat);}

static void lcd_wr_reg(uint8_t dat){ LCD_DC_Clr(); lcd_write_bus(dat); LCD_DC_Set();}

static void lcd_address_set(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2){ /* 列地址設置 */ lcd_wr_reg(0x2a); lcd_wr_data(x1); lcd_wr_data(x2); /* 行地址設置 */ lcd_wr_reg(0x2b); lcd_wr_data(y1); lcd_wr_data(y2); /* 儲存器寫 */ lcd_wr_reg(0x2c);}

static void lcd_wr_data(uint16_t dat){ lcd_write_bus(dat >> 8); lcd_write_bus(dat);}

void lcd_draw_point(uint16_t x, uint16_t y, uint16_t color){ /* 設置光標位置 */ lcd_address_set(x, y, x, y); lcd_wr_data(color);}


4. LCD的ASCII字符顯示設計

預先將規定字號的ASCII字符的LCD液晶屏像素信息存放于在lcd_font.h源代碼文件中。該表格依照ASCII的數值來存放像素信息。例如:空格的ASCII數值是0x0,則程序將像素放到第一行像素中,如下源代碼所示。

/* 12*6的ASCII碼顯示 */const unsigned char ascii_1206[][12] ={ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*" ",0*/ {0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00}, /*"!",1*/ {0x14, 0x14, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*""",2*/ {0x00, 0x00, 0x0A, 0x0A, 0x1F, 0x0A, 0x0A, 0x1F, 0x0A, 0x0A, 0x00, 0x00}, /*"#",3*/{0x00, 0x04, 0x0E, 0x15, 0x05, 0x06, 0x0C, 0x14, 0x15, 0x0E, 0x04, 0x00}, /*"$",4*/.......};

/* 16*8的ASCII碼顯示 */const unsigned char ascii_1608[][16] ={ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*" ",0*/ {0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00}, /*"!",1*/ {0x00, 0x48, 0x6C, 0x24, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*""",2*/{0x00, 0x00, 0x00, 0x24, 0x24, 0x24, 0x7F, 0x12, 0x12, 0x12, 0x7F, 0x12, 0x12, 0x12, 0x00, 0x00}, /*"#",3*/......};

/* 24*12的ASCII碼顯示 */const unsigned char ascii_2412[][48] ={ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*" ",0*/ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x40, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*"!",1*/{0x00, 0x00, 0x00, 0x00, 0x60, 0x06, 0x60, 0x06, 0x30, 0x03, 0x98, 0x01, 0x88, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*""",2*/......};

當需要將某一個字號的ASCII字符投射到LCD液晶屏時,程序根據字號大小找到對應的字號的ASCII字符像素表,然后根據ASCII字符的數值找到對應的像素行,最后將該像素行數據依次通過SPI總線發送給LCD液晶屏。如下源代碼所示。

void lcd_show_char(uint16_t x, uint16_t y, uint8_t num, uint16_t fc, uint16_t bc, uint8_t sizey, uint8_t mode){ uint8_t temp,sizex,t,m = 0; uint16_t i; uint16_t TypefaceNum;//一個字符所占字節大小 uint16_t x0 = x; sizex = sizey/2; TypefaceNum = (sizex/8 + ((sizex%8)?1:0)) * sizey;

/* 得到偏移后的值 */ num = num-' '; /* 設置光標位置 */ lcd_address_set(x, y, x+sizex-1, y+sizey-1); for (i = 0; i < TypefaceNum; i++) { if (sizey == 12) { /* 調用6x12字體 */ temp = ascii_1206[num][i]; } else if (sizey == 16) { /* 調用8x16字體 */ temp = ascii_1608[num][i]; } else if (sizey == 24) { /* 調用12x24字體 */ temp = ascii_2412[num][i]; } else if (sizey == 32) { /* 調用16x32字體 */ temp = ascii_3216[num][i]; } else { return; } for (t = 0; t < 8; t++) { if (!mode) {/* 非疊加模式 */ if (temp & (0x01 << t)) { lcd_wr_data(fc); } else { lcd_wr_data(bc); } m++; if (m%sizex == 0) { m = 0; break; } } else {/* 疊加模式 */ if (temp & (0x01 << t)) { /* 畫一個點 */ lcd_draw_point(x, y, fc); } x++; if ((x - x0) == sizex) { x = x0; y++; break; } } } } }


5. LCD的漢字顯示設計

同上原理,程序將某一個特定字號的漢字信息存放于一個數據結構體數組中。該數據結構體包含字體編碼Index和像素數據Msk。具體原代碼如下所示。

/* 定義中文字符 12*12 */typedef struct{ unsigned char Index[2]; unsigned char Msk[24];} typFNT_GB12;

/* 定義中文字符 16*16 */typedef struct{ unsigned char Index[2]; unsigned char Msk[32];} typFNT_GB16;

/* 定義中文字符 24*24 */typedef struct{ unsigned char Index[2]; unsigned char Msk[72];} typFNT_GB24;......

通過漢字像素軟件將對應的漢字和像素存放于lcd_font.h文件中。具體源代碼如下所示。

const typFNT_GB12 tfont12[] ={ "小", 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x24, 0x01, 0x24, 0x02, 0x22, 0x02, 0x22, 0x04, 0x21, 0x04, 0x20, 0x00, 0x20, 0x00, 0x38, 0x00, /*"小"*/ "凌", 0x40, 0x00, 0xF9, 0x03, 0x42, 0x00, 0xFC, 0x07, 0x10, 0x01, 0x28, 0x02, 0xE0, 0x01, 0x14, 0x01, 0xAA, 0x00, 0x41, 0x00, 0xB0, 0x01, 0x0C, 0x06, /*"凌"*/ "派", 0x00, 0x03, 0xF2, 0x00, 0x14, 0x02, 0xD0, 0x01, 0x51, 0x01, 0x52, 0x05, 0x50, 0x03, 0x50, 0x01, 0x54, 0x01, 0x52, 0x02, 0xD1, 0x02, 0x48, 0x04, /*"派"*/ };

const typFNT_GB16 tfont16[] ={ "小", 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x88, 0x08, 0x88, 0x10, 0x88, 0x20, 0x84, 0x20, 0x84, 0x40, 0x82, 0x40, 0x81, 0x40, 0x80, 0x00, 0x80, 0x00, 0xA0, 0x00, 0x40, 0x00, /*"小",0*/ "凌", 0x00, 0x02, 0x02, 0x02, 0xC4, 0x1F, 0x04, 0x02, 0x00, 0x02, 0xE0, 0x7F, 0x88, 0x08, 0x48, 0x11, 0x24, 0x21, 0x87, 0x0F, 0xC4, 0x08, 0x24, 0x05, 0x04, 0x02, 0x04, 0x05, 0xC4, 0x08, 0x30, 0x30, /*"凌",1*/ "派", 0x00, 0x10, 0x04, 0x3C, 0xE8, 0x03, 0x28, 0x00, 0x21, 0x38, 0xA2, 0x07, 0xA2, 0x04, 0xA8, 0x44, 0xA8, 0x24, 0xA4, 0x14, 0xA7, 0x08, 0xA4, 0x08, 0xA4, 0x10, 0x94, 0x22, 0x94, 0x41, 0x88, 0x00, /*"派",2*/ };......

當程序需要將某一個特定字號的漢字投射到LCD液晶屏時,程序就根據對應的字號查找對應字號的tfontXX數組,并將對應的像素行數據發送給LCD液晶屏。具體源代碼如下所示。

void lcd_show_chinese(uint16_t x, uint16_t y, uint8_t *s, uint16_t fc, uint16_t bc, uint8_t sizey, uint8_t mode){ uint8_t buffer[128]; uint32_t buffer_len = 0; uint32_t len = strlen(s);

memset(buffer, 0, sizeof(buffer)); /* utf8格式漢字轉化為ascii格式 */chinese_utf8_to_ascii(s, strlen(s), buffer, &buffer_len);

for (uint32_t i = 0; i < buffer_len; i += 2, x += sizey) { if (sizey == 12) { lcd_show_chinese_12x12(x, y, &buffer[i], fc, bc, sizey, mode); } else if (sizey == 16) { lcd_show_chinese_16x16(x, y, &buffer[i], fc, bc, sizey, mode); } else if (sizey == 24) { lcd_show_chinese_24x24(x, y, &buffer[i], fc, bc, sizey, mode); } else if (sizey == 32) { lcd_show_chinese_32x32(x, y, &buffer[i], fc, bc, sizey, mode); } else { return; }}}

四、編譯過程

1、打開sdk下面路徑的文件

/vendor/lockzhiner/rk2206/samples/b4_lcd/lcd_example.c

注意:Gitee已有相關源代碼,請大家根據上述的需求修改相關源代碼。

網址:https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk2206-openharmony3.0lts/tree/master/vendor/lockzhiner/rk2206/samples/b4_lcd

2、修改編譯腳本

修改 vendor/lockzhiner/rk2206/sample 路徑下 BUILD.gn 文件,指定 lcd_example 參與編譯。

"./b4_lcd:lcd_example",

修改 device/lockzhiner/rk2206/sdk_liteos 路徑下 Makefile 文件,添加 -llcd_example 參與編譯。

hardware_LIBS = -lhal_iothardware -lhardware -llcd_example

3、編譯固件

hb set -root .

hb set

hb build -f


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RK2206
    +關注

    關注

    0

    文章

    38

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于小RK2206開發板:OpenHarmony如何使用IoT接口控制FLASH外設

    1、實驗簡介 本實驗將演示如何在小-RK2206開發板上使用IOT庫的FLASH接口,進行FLASH編程開發。 例程將創建一個任務,實現
    發表于 04-22 15:02

    基于小RK2206開發板:OpenHarmony如何使用IoT接口控制FLASH外設

    1、實驗簡介本實驗將演示如何在小-RK2206開發板上使用IOT庫的FLASH接口,進行FLASH編程開發。例程將創建一個任務,實現FL
    的頭像 發表于 04-22 14:49 ?355次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開發板</b>:OpenHarmony如何使用IoT接口控制FLASH外設

    基于小RK2206開發板:OpenHarmony如何使用IoT接口控制UART外設

    1、實驗簡介 本實驗將演示如何在小-RK2206開發板上使用IOT庫的UART接口,進行UART編程開發。 例程將創建一個任務,通過配置
    發表于 04-22 14:27

    基于小RK2206開發板:OpenHarmony如何使用IoT接口控制UART外設

    1、實驗簡介本實驗將演示如何在小-RK2206開發板上使用IOT庫的UART接口,進行UART編程開發。例程將創建一個任務,通過配置UA
    的頭像 發表于 04-22 14:22 ?465次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開發板</b>:OpenHarmony如何使用IoT接口控制UART外設

    基于小RK2206開發板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實驗簡介 本實驗將演示如何在小-RK2206開發板上使用IOT庫的GPIO中斷模式,進行GPIO編程開發。 例程將創建一個任務,通過
    發表于 04-21 11:08

    基于小RK2206開發板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實驗簡介本實驗將演示如何在小-RK2206開發板上使用IOT庫的GPIO中斷模式,進行GPIO編程開發。例程將創建一個任務,通過配置
    的頭像 發表于 04-21 10:39 ?450次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開發板</b>:OpenHarmony如何使用IoT接口控制GPIO中斷

    基于小RK2206開發板:OpenHarmony如何使用IoT接口控制GPIO外設

    1、案例簡介 本案例主要是如何在小-RK2206開發板上使用IOT庫的GPIO接口,進行GPIO編程開發。 例程將創建一個任務,通過配置
    發表于 04-11 15:45

    基于小RK2206開發板:OpenHarmony如何使用IoT接口控制GPIO外設

    1、案例簡介本案例主要是如何在小-RK2206開發板上使用IOT庫的GPIO接口,進行GPIO編程開發。例程將創建一個任務,通過配置GP
    的頭像 發表于 04-11 15:36 ?1215次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開發板</b>:OpenHarmony如何使用IoT接口控制GPIO外設

    基于小RK2206開發板:OpenHarmony如何使用IoT接口控制ADC外設

    1、案例簡介 本案例主要講解如何在小-RK2206開發板上使用IoT庫的ADC接口,進行ADC編程開發。 例程內容為創建一個任務,讀取按
    發表于 04-10 16:20

    基于小RK2206開發板:OpenHarmony如何使用IoT接口控制ADC外設

    1、案例簡介本案例主要講解如何在小-RK2206開發板上使用IoT庫的ADC接口,進行ADC編程開發。例程內容為創建一個任務,讀取按鍵的
    的頭像 發表于 04-10 16:00 ?434次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開發板</b>:OpenHarmony如何使用IoT接口控制ADC外設

    基于小RK2206開發板:OpenHarmony如何使用IoT接口控制PWM外設

    1、案例簡介 本案例是在小-RK2206開發板上使用IoT庫PWM接口,進行PWM編程開發。 例程將創建一個任務,每隔5秒將PWM0~1
    發表于 04-09 09:37

    基于小RK2206開發板:OpenHarmony如何使用IoT接口控制PWM外設

    1、案例簡介本案例是在小-RK2206開發板上使用IoT庫PWM接口,進行PWM編程開發。例程將創建一個任務,每隔5秒將PWM0~10依
    的頭像 發表于 04-09 08:59 ?1070次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開發板</b>:OpenHarmony如何使用IoT接口控制PWM外設

    【「OpenHarmony開發與實踐 | 基于紅莓RK2206開發板」閱讀體驗】+初體驗1

    愛好者沒有bug,「OpenHarmony開發與實踐 | 基于紅莓RK2206開發板」大賣吧!哦對了 你們的開發板是怎么準備的呢?【小
    發表于 09-18 18:30

    【「OpenHarmony開發與實踐 | 基于紅莓RK2206開發板」閱讀體驗】+初體驗2連發發

    啥也不說先上圖 對于《OpenHarmony開發與實踐 | 基于紅莓RK2206開發板》這本書的熱愛,簡直就像夏日里的一股清泉,讓人忍不住想要一探究竟! 這本書的排布,簡直就是一場視覺盛宴,章節
    發表于 09-18 18:01

    基于OpenHarmony輕量級操作系統實現RK2206 WiFi-AP模式通信開發案例

    實驗內容本示例將演示如何在小-RK2206開發板上使用WiFi-AP模式(即將RK2206作為WiFi路由器),實現與PC端進行TCP通
    的頭像 發表于 08-08 08:23 ?935次閱讀
    基于OpenHarmony輕量級操作系統實現<b class='flag-5'>RK2206</b> WiFi-AP模式通信<b class='flag-5'>開發</b>案例
    主站蜘蛛池模板: 色综合久久88 | 爱爱免费小视频 | 人人爽天天爽夜夜爽曰 | 91成人在线免费视频 | 最近最新中文字幕在线第一页 | 福利视频一区二区微拍堂 | 性欧美日本 | 国产精品久久婷婷六月丁香 | 五月情视频在线观看 | 色草视频 | 亚洲欧洲色| ww欧洲ww在线视频看 | 一级a级国产不卡毛片 | 亚洲免费视频一区二区三区 | 深夜视频免费在线观看 | 日本在线网址 | 欧美二级 | 亚洲大香伊人蕉在人依线 | 99视频在线永久免费观看 | 亚洲色图图片 | 四虎国产 | 性色影院| 香蕉午夜视频 | 国产网站大全 | 午夜视频免费在线播放 | 四虎影视免费观看 | 午夜国产精品福利在线观看 | a免费在线| 欧美aaaaaaaaaa| 国产人免费人成免费视频 | 农村妇女色又黄一级毛片卡 | 成人人免费夜夜视频观看 | 男人和女人做免费做爽爽视频 | 丁香综合在线 | 日本一二线不卡在线观看 | 色综合综合色综合色综合 | 三级理论片 | 免费视频h | 中国高清色视频www 中国高清性色生活片 | 青草午夜精品视频在线观看 | 成人性生活免费视频 |