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

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

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

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

【北京迅為】iTOP-RK3568開發(fā)板鴻蒙OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)實操-HDF驅(qū)動配置UART

北京迅為電子 ? 2025-03-25 11:02 ? 次閱讀

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工藝,搭載一顆四核Cortex-A55處理器和Mali G52 2EE 圖形處理器。RK3568 支持4K 解碼和 1080P 編碼,支持SATA/PCIE/USB3.0 外圍接口。RK3568內(nèi)置獨立NPU,可用于輕量級人工智能應用。RK3568 支持安卓 11 和 linux 系統(tǒng),主要面向物聯(lián)網(wǎng)網(wǎng)關(guān)、NVR 存儲、工控平板、工業(yè)檢測、工控盒、卡拉 OK、云終端、車載中控等行業(yè)。

?

wKgZO2fiHHWAdIEQAARFwUG-xCw112.png

【本文摘自】【北京迅為】iTOP-RK3568OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)

【相關(guān)視頻】OpenHarmony學習開發(fā)系列教程(第1期 北向基礎篇一)

OpenHarmony學習開發(fā)系列教程(第2期 南向基礎篇一)

第6章 實操-HDF驅(qū)動配置UART

6.1 修改HCS配置

對于不同的平臺,需要在對應的平臺目錄修改對應的hcs文件,接下來示例為在rk3568下新增uart4 uart9 uart7的修改方法。

修改vendor/hihope/rk3568/hdf_config/khdf/device_info/device_info.hcs文件,device_info.hcs中添加以下內(nèi)容:

device3 :: deviceNode {

policy = 2;

permission = 0644;

priority = 40;

moduleName = "HDF_PLATFORM_UART";

serviceName = "HDF_PLATFORM_UART_4";

deviceMatchAttr = "rockchip_rk3568_uart_4";

}

device4 :: deviceNode {

policy = 2;

permission = 0644;

priority = 40;

moduleName = "HDF_PLATFORM_UART";

serviceName = "HDF_PLATFORM_UART_7";

deviceMatchAttr = "rockchip_rk3568_uart_7";

}

device5 :: deviceNode {

policy = 2;

permission = 0644;

priority = 40;

moduleName = "HDF_PLATFORM_UART";

serviceName = "HDF_PLATFORM_UART_9";

deviceMatchAttr = "rockchip_rk3568_uart_9";

}

在配置過程中要注意以下幾點:

1 device3,device4,device5是自定義的,可以根據(jù)實際情況修改

2 policy表示服務策略,取值為0時,表示不發(fā)布服務,取值為1時表示向內(nèi)核態(tài)發(fā)布服務,取值為2時表示向內(nèi)核用戶態(tài)發(fā)布服務

3 moduleName的值要與驅(qū)動實現(xiàn)的HdfDriverEntry結(jié)構(gòu)體中的moduleName相同。

4 deviceMatchAttr的值表示驅(qū)動的私有配置信息

5 serviceName表示服務名稱,服務加載成功之后會在開發(fā)板的/dev/目錄下生成節(jié)點。例如HDF_PLATFORM_UART_9后面跟著的數(shù)據(jù)9是UartOpen()的端口

6.2 配置rk3568_uart_config.hcs

修改vendor/hihope/rk3568/hdf_config/khdf/platform/rk3568_uart_config.hcs文件,添加如下內(nèi)容,如下所示:

device_uart_0x0004 :: uart_device {

num = 4;

match_attr = "rockchip_rk3568_uart_4";

}

device_uart_0x0007 :: uart_device {

num = 7;

match_attr = "rockchip_rk3568_uart_7";

}

device_uart_0x0009 :: uart_device {

num = 9;

match_attr = "rockchip_rk3568_uart_9";

}

在上面的配置中需要注意以下幾點:

1 device_uart_0x0004中的后綴“0x0004”是串口編號。

2 num 與driver_name值“ttyS”組成驅(qū)動設備名,例如ttyS4。UartOpen函數(shù)參數(shù)port,則表示上述uart設備排列序號,比如num=4 的UartOpen函數(shù)port=4。

3 match_attr的名稱必須是rockchip_rk3568_uart_x,和device_info.hcs中要寫一樣。

6.3 Openharmony UART平臺驅(qū)動

在drivers/hdf_core/adapter/khdf/linux/platform/uart/uart_adapter.c 中編寫了對接Linux UART驅(qū)動的相關(guān)代碼,這部分不需要大家進行修改,感興趣的話可以自己研究下uart_adapter.c文件。

6.4 UART應用開發(fā)

6.4.1 UART驅(qū)動API接口介紹

UART驅(qū)動API接口如下所示,具體的API詳見drivers/hdf_core/framework/include/platform/uart_if.h文件。

wKgZO2fiHHKASJeFAACAICQUFZQ055.png

UartOpen

在使用UART進行通信時,首先要調(diào)用UartOpen獲取UART設備句柄,該函數(shù)會返回指定端口號的UART設備句柄。函數(shù)原型如下所示:

DevHandle UartOpen(uint32_t port);

其中,參數(shù)port是UART設備號。UartOpen返回值為NULL表示獲取UART設備句柄失敗,正常情況下返回UART設備句柄。

假設系統(tǒng)重的UART端口號為4,獲取該UART設備句柄的示例如下所示

DevHandle handle = NULL; // UART設備句柄

uint32_t port = 4; // UART設備端口號

handle = UartOpen(port);

if (handle == NULL) {

HDF_LOGE("UartOpen: open uart_%u failed!\n", port);

return;

}

UartSetBaud

在通信之前,需要設置UART的波特率,函數(shù)原型如下所示:

int32_t UartSetBaud(DevHandle handle, uint32_t baudRate);

其中,參數(shù)handle表示UART設備句柄,baudRate表示待設置的波特率值。UartSetBaud返回值為HDF_SUCCESS表示波特率設置成功,返回值為負數(shù)表示UART設置波特率失敗。

UartGetBaud

設置UART的波特率后,可以通過獲取波特率接口來查看UART當前的波特率。函數(shù)原型如下所示:

int32_t UartGetBaud(DevHandle handle, uint32_t *baudRate);

其中,參數(shù)handle表示UART設備句柄,baudRate表示待設置的波特率值。UartSetBaud返回值為HDF_SUCCESS表示獲取波特率成功,返回值為負數(shù)表示UART獲取波特率失敗。

UartSetAttribute

在通信之前,需要設置UART的設備屬性。函數(shù)原型如下所示:

int32_t UartSetAttribute(DevHandle handle, struct UartAttribute *attribute);

其中,handle表示UARt設備句柄,attribute表示待設置的設備屬性。UartSetAttribute返回值為HDF_SUCCESS表示UART設置屬性成功,返回值為負數(shù)表示UART設置設備屬性失敗。

UartGetAttribute

設置UART的設備屬性后,可以通過獲取設備屬性接口來查看UART當前的設備屬性。函數(shù)原型如下所示:

int32_t UartGetAttribute(DevHandle handle, struct UartAttribute *attribute);

其中,handle表示UART設備句柄,attribute表示接收UART設備屬性的指針。UartGetAttribute返回值為HDF_SUCCESS表示UART獲取屬性成功,返回值為負數(shù)表示UART獲取設備屬性失敗。

UartSetTransMode

在通信之前,需要設置UART的傳輸模式。函數(shù)原型如下所示:

int32_t UartSetTransMode(DevHandle handle, enum UartTransMode mode);

其中,handle表示UART設備句柄,mode表示待設置的傳輸模式。UartSetTransMode返回值為HDF_SUCCESS表示UART設置傳輸模式成功,返回值返回負數(shù)表示UART設置傳輸模式失敗。

UartWrite

向UART設備寫入指定長度的數(shù)據(jù)。函數(shù)原型如下所示:

int32_t UartWrite(DevHandle handle, uint8_t *data, uint32_t size);

其中,handle表示UART設備句柄,data表示待寫入數(shù)據(jù)的指針,size表示待寫入數(shù)據(jù)的長度。

UartWrite返回值為HDF_SUCCESS表示UART寫數(shù)據(jù)成功,返回值為負數(shù)表示UART寫數(shù)據(jù)失敗。

UartRead

從UART設備中讀取指定長度的數(shù)據(jù),函數(shù)原型如下所示:

int32_t UartRead(DevHandle handle, uint8_t *data, uint32_t size);

其中,參數(shù)handle表示UART設備句柄,data表示接收讀取數(shù)據(jù)的指針,size表示待讀取數(shù)據(jù)的長度。UartRead返回值為非負數(shù)表示UART讀取到的數(shù)據(jù)長度,返回值為負數(shù),表示UART讀取數(shù)據(jù)失敗。

UartClose

UART通信完成之后,需要銷毀UART設備句柄,函數(shù)原型如下所示:

void UartClose(DevHandle handle);

其中,參數(shù)handle表示UART設備句柄。

6.4.2 編寫應用測試APP

使用UART的一般流程如下所示:

wKgZPGfiHHKAYqsvAABirai0hPA094.png

接下來編寫應用測試文件uart_test.c,完整代碼如下所示:

#include "stdio.h"

#include "stdlib.h"

#include "unistd.h"

#include "hdf_base.h"

#include "hdf_io_service.h"

#include "hilog/log.h"

#include "uart_if.h" // 假設這個頭文件包含了所有UART相關(guān)函數(shù)的聲明和宏定義

#define STRING_MAXSIZE 100

#define HDF_SUCCESS 0

// 假設這些宏在uart_if.h中定義

#ifndef PRINT_ERROR

#define PRINT_ERROR(...) fprintf(stderr, __VA_ARGS__)

#endif

#ifndef PRINT_INFO

#define PRINT_INFO(...) printf(__VA_ARGS__)

#endif

int main(int argc, char* argv[])

{

DevHandle handle = NULL;

struct UartAttribute attribute;

int32_t ret = 0;

uint8_t wbuff[STRING_MAXSIZE] = "HelloWorld";

uint8_t rbuff[STRING_MAXSIZE] = {0}; // 初始化接收緩沖區(qū)為0

uint32_t m_uart_port = atoi(argv[1]); // UART端口的標識符

uint32_t m_uart_baudrate = 115200; // UART的波特率

// 初始化UART屬性

attribute.dataBits = UART_ATTR_DATABIT_8; // UART傳輸數(shù)據(jù)位寬,一次傳輸8個bit

attribute.parity = UART_ATTR_PARITY_NONE; // UART傳輸數(shù)據(jù)無校檢

attribute.stopBits = UART_ATTR_STOPBIT_1; // UART傳輸數(shù)據(jù)停止位為1位

attribute.rts = UART_ATTR_RTS_DIS; // UART禁用RTS

attribute.cts = UART_ATTR_CTS_DIS; // UART禁用CTS

attribute.fifoRxEn = UART_ATTR_RX_FIFO_EN; // UART使能RX FIFO

attribute.fifoTxEn = UART_ATTR_TX_FIFO_EN; // UART使能TX FIFO

// 打開UART設備

handle = UartOpen(m_uart_port);

if (handle == NULL) {

PRINT_ERROR("UartOpen: open uart port %u failed!\n", m_uart_port);

return -1;

}

PRINT_INFO("UartOpen successful and uart port = %u\n", m_uart_port);

// 設置UART波特率

ret = UartSetBaud(handle, m_uart_baudrate);

if (ret != HDF_SUCCESS) {

PRINT_ERROR("UartSetBaud: set baud failed, ret %d\n", ret);

goto ERR;

}

PRINT_INFO("UartSetBaud successful and uart baudrate = %u\n", m_uart_baudrate);

// 設置UART設備屬性

ret = UartSetAttribute(handle, &attribute);

if (ret != HDF_SUCCESS) {

PRINT_ERROR("UartSetAttribute: set attribute failed, ret %d\n", ret);

goto ERR;

}

PRINT_INFO("UartSetAttribute successful\n");

// 獲取UART設備屬性(可選)

ret = UartGetAttribute(handle, &attribute);

if (ret != HDF_SUCCESS) {

PRINT_ERROR("UartGetAttribute: get attribute failed, ret %d\n", ret);

goto ERR;

}

PRINT_INFO("UartGetAttribute successful\n");

// 設置UART傳輸模式為阻塞模式

ret = UartSetTransMode(handle, UART_MODE_RD_BLOCK);

if (ret != HDF_SUCCESS) {

PRINT_ERROR("UartSetTransMode: set trans mode failed, ret %d\n", ret);

goto ERR;

}

PRINT_INFO("UartSetTransMode successful\n");

// 向UART設備寫入數(shù)據(jù)

ret = UartWrite(handle, wbuff, (uint32_t)strlen((char *)wbuff));

if (ret != HDF_SUCCESS) {

PRINT_ERROR("UartWrite: write data failed, ret %d\n", ret);

goto ERR;

}

PRINT_INFO("UartWrite successful and wbuff = %s\n", wbuff);

// 從UART設備讀取數(shù)據(jù)

do{

ret = UartRead(handle, rbuff, STRING_MAXSIZE);

if (ret < 0) {

PRINT_ERROR("UartRead: read data failed, ret %d\n", ret);

goto ERR;

}

sleep(1);

} while (!ret);

rbuff[ret] = '\0'; // 確保字符串以null結(jié)尾(如果讀取的是文本數(shù)據(jù))

PRINT_INFO("UartRead successful and rbuff = %s\n", rbuff);

ERR:

// 關(guān)閉UART設備句柄(確保在handle非空時關(guān)閉)

if (handle != NULL) {

UartClose(handle);

}

return ret;

}

接下來編寫應用APP的GN文件BUILD.gn,代碼內(nèi)容如下所示:

HDF_FRAMEWORKS = "http://drivers/hdf_core/framework"

HDF_ADAPTER = "http://drivers/hdf_core/adapter"

import("http://build/ohos.gni")

import("$HDF_ADAPTER/uhdf2/uhdf.gni")

print("demos: compile uart_test")

ohos_executable("uart_test"){

sources = ["uart_test.c"]

include_dirs = [

"$HDF_FRAMEWORKS/include",

"$HDF_FRAMEWORKS/include/core",

"$HDF_FRAMEWORKS/include/osal",

"$HDF_FRAMEWORKS/include/platform",

"$HDF_FRAMEWORKS/include/utils",

"$HDF_ADAPTER/uhdf2/ipc/include",

"$HDF_ADAPTER/uhdf2/osal/include",

"http://base/hiviewdfx/hilog/interfaces/native/innerkits/include",

"http://third_party/bounds_checking_function/include",

]

external_deps = [

"c_utils:utils",

"hdf_core:libhdf_platform",

"hdf_core:libhdf_utils",

"hilog:libhilog",

]

cflags = [

"-Wall",

"-Wextra",

"-Werror",

"-Wno-format",

"-Wno-format-extra-args",

]

part_name = "demos"

install_enable = true

}

6.5 編譯源碼

重新編譯Openharmony4.1源碼,如下所示:

./build.sh --product-name rk3568 --ccache

或者單獨編譯部件

./build.sh --product-name rk3568 --build-target demos --ccache

編譯之后,在源碼out/rk3568/topeet目錄下生成編譯產(chǎn)物,如下圖所示:

wKgZPGfiHHKAUAcBAACq8tnvd_4501.png

6.6 UART測試

將編譯好的鏡像全部進行燒寫,鏡像在源碼根目錄out/rk3568/packages/phone/images/目錄下。

wKgZPGfiHHOAGh1gAAFnPCRoqWw670.png

燒寫完成之后,連接串口工具,本小節(jié)將要測試串口9,對應的設備節(jié)點是/dev/HDF_PLATFORM_UART_9。

作者使用usb轉(zhuǎn)TTL(需要自行準備)來進行測試,如下圖所示:

wKgZO2fiHHKAcWYrAAD-74tTnVs242.png

串口9在開發(fā)板底板的背面,如下圖所示,USB轉(zhuǎn)TTL的RXD要使用導線連接到開發(fā)板串口9的UART9_TX_M1,USB轉(zhuǎn)TTL的TXD要使用導線連接到開發(fā)板串口9的UART9_RX_M1,USB轉(zhuǎn)TTL的地接到GND。

wKgZPGfiHHOAG4bIAAGDLEo4pI0660.png

電腦上打開串口助手,選擇串口4對應的串口號和波特率,注意:默認波特率為115200!

打開串口,如下圖所示:

wKgZPGfiHHWAST10AAGWnpvze5c571.png

輸入以下命令運行測試程序發(fā)送數(shù)據(jù)和接收數(shù)據(jù),發(fā)送的數(shù)據(jù)為112233445678,數(shù)據(jù)信息可以自定義。

uart_test 9

wKgZPGfiHHOAUYpsAACjlUDZBP0056.png

串口軟件接收到字符串“HelloWorld”

wKgZO2fiHHOAERN5AADtV3DHUcA509.png

然后在串口軟件發(fā)送數(shù)據(jù)“112233445678”,如下圖所示:

wKgZO2fiHHOASak2AADyTgjdUuU249.png

串口終端收到發(fā)送的字符串,如下圖所示:

wKgZO2fiHHOAOwRRAADoXkc6OQo907.png

至此,串口實驗完結(jié)。

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

    關(guān)注

    25

    文章

    5503

    瀏覽量

    102210
  • OpenHarmony
    +關(guān)注

    關(guān)注

    26

    文章

    3824

    瀏覽量

    18128
  • RK3568
    +關(guān)注

    關(guān)注

    5

    文章

    576

    瀏覽量

    6077
  • 迅為電子
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    141
收藏 人收藏

    評論

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

    RK3568開發(fā)板驅(qū)動指南Linux中通用SPI設備驅(qū)動

    RK3568開發(fā)板驅(qū)動指南Linux中通用SPI設備驅(qū)動
    的頭像 發(fā)表于 01-23 11:02 ?2493次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>驅(qū)動</b>指南Linux中通用SPI設備<b class='flag-5'>驅(qū)動</b>

    北京RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)內(nèi)核HDF驅(qū)動框架架構(gòu)

    北京RK3568開發(fā)板OpenHarmony系統(tǒng)
    的頭像 發(fā)表于 03-11 14:13 ?982次閱讀
    <b class='flag-5'>北京</b><b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>南向</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>內(nèi)核<b class='flag-5'>HDF</b><b class='flag-5'>驅(qū)動</b>框架架構(gòu)

    鴻蒙OpenHarmony南向/北向快速開發(fā)教程-RK3568開發(fā)板

    大家期待已久的RK3568開發(fā)板終于迎來了鴻蒙4.1系統(tǒng)的強勢支持!想知道如何實現(xiàn)快速
    發(fā)表于 07-23 10:44

    RK3568開發(fā)板OpenHarmony配置HDF驅(qū)動控制LED-新增 topeet子系統(tǒng)

    程序目錄 ├── led_driver.c:內(nèi)核 LED HDF 驅(qū)動程序 └── Makefile:內(nèi)核 LED HDF 驅(qū)動編譯腳本 更多內(nèi)容可以關(guān)注:
    發(fā)表于 01-13 15:59

    RK3568開發(fā)板OpenHarmonyHDF驅(qū)動控制LED-編寫內(nèi)核 LED HDF 驅(qū)動程序

    接下來編譯 LED 驅(qū)動,該驅(qū)動用于在基于華為設備框架(HDF)的系統(tǒng)中控制 LED 燈的開關(guān),完整代碼如下所示: 更多內(nèi)容可以關(guān)注:
    發(fā)表于 01-17 15:13

    RK3568開發(fā)板OpenHarmonyHDF驅(qū)動控制LED-添加內(nèi)核編譯

    編譯內(nèi)核時將該 HDF 驅(qū)動編譯到鏡像中,接下來編寫驅(qū)動編譯腳本 Makefile,代碼如下所示: 加入編譯體系,填加模塊目錄到 drivers/hdf_core/adapter/kh
    發(fā)表于 01-22 10:35

    RK3568開發(fā)板鴻蒙OpenHarmony系統(tǒng)固件燒寫步驟

    1、RK3568開發(fā)板鴻蒙OpenHarmony系統(tǒng)
    發(fā)表于 08-26 17:45

    【教程上新】基于iTOP-RK3568開發(fā)板的OpenCV開發(fā)手冊

    【教程上新】基于iTOP-RK3568開發(fā)板的OpenCV開發(fā)手冊
    的頭像 發(fā)表于 02-08 15:22 ?1476次閱讀
    【教程上新】基于<b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>iTOP-RK3568</b><b class='flag-5'>開發(fā)板</b>的OpenCV<b class='flag-5'>開發(fā)</b>手冊

    北京itop-RK3568開發(fā)板驅(qū)動開發(fā)指南

    iTOP-RK3568開發(fā)板驅(qū)動開發(fā)指南》更新,本次更新內(nèi)容對應的是驅(qū)動(第六期_平臺總線_全新升級)視頻,后續(xù)資料會不斷更新,不斷完善,
    發(fā)表于 08-29 16:32 ?42次下載

    RK3568開發(fā)板驅(qū)動開發(fā)指南-輸入子系統(tǒng)

    RK3568開發(fā)板驅(qū)動開發(fā)指南-輸入子系統(tǒng)
    的頭像 發(fā)表于 02-23 15:11 ?1481次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>指南-輸入子<b class='flag-5'>系統(tǒng)</b>

    北京RK3568開發(fā)板嵌入式學習之Linux驅(qū)動全新更新-CAN+

    北京RK3568開發(fā)板嵌入式學習之Linux驅(qū)動全新更新-CAN+
    的頭像 發(fā)表于 09-04 15:29 ?907次閱讀
    <b class='flag-5'>北京</b><b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>嵌入式學習之Linux<b class='flag-5'>驅(qū)動</b>全新更新-CAN+

    iTOP-RK3568/RK3588開發(fā)板獲麒麟軟件適配認證

    iTOP-RK3568/RK3588開發(fā)板獲麒麟軟件適配認證
    的頭像 發(fā)表于 10-18 14:56 ?1060次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>iTOP-RK3568</b>/<b class='flag-5'>RK</b>3588<b class='flag-5'>開發(fā)板</b>獲麒麟軟件適配認證

    北京iTOP-RK3568OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)GPIO基礎知識

    北京iTOP-RK3568OpenHarmony系統(tǒng)南向
    的頭像 發(fā)表于 03-06 11:23 ?516次閱讀
    【<b class='flag-5'>北京</b><b class='flag-5'>迅</b><b class='flag-5'>為</b>】<b class='flag-5'>iTOP-RK3568OpenHarmony</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>南向</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>GPIO基礎知識

    北京iTOP-RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)-HDF驅(qū)動配置LED

    北京iTOP-RK3568開發(fā)板OpenHarmony
    的頭像 發(fā)表于 03-14 14:41 ?492次閱讀
    <b class='flag-5'>北京</b><b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>iTOP-RK3568</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>南向</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實</b><b class='flag-5'>操</b>-<b class='flag-5'>HDF</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>配置</b>LED

    北京iTOP-RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)-第4章 UART基礎知識

    北京iTOP-RK3568開發(fā)板OpenHarmony
    的頭像 發(fā)表于 03-17 15:50 ?371次閱讀
    【<b class='flag-5'>北京</b><b class='flag-5'>迅</b><b class='flag-5'>為</b>】<b class='flag-5'>iTOP-RK3568</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>南向</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-第4章 <b class='flag-5'>UART</b>基礎知識