版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第1章鴻蒙系統(tǒng)應(yīng)用開發(fā)基礎(chǔ)深圳信息職棠技術(shù)學(xué)院SHENZHEN
INSTITUTE
OF
INFORMATION
TECHNOLOGY前言●本章主要講述鴻蒙系統(tǒng)應(yīng)用開發(fā)基礎(chǔ)知識(shí)。深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第2頁本節(jié)概述和學(xué)習(xí)目標(biāo)●通過學(xué)習(xí)本節(jié)將能夠了解鴻蒙系統(tǒng)的開發(fā)基礎(chǔ)知識(shí)?!?/p>
通過本節(jié)學(xué)習(xí)可以:□了解物聯(lián)網(wǎng)系統(tǒng)□了解Hi3861
芯片□了解OpenHarmony
鴻蒙系統(tǒng)深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第3頁目錄1.
物聯(lián)網(wǎng)系統(tǒng)概述2.
華為海思Hi3861芯片概述3.
鴻蒙系統(tǒng)概述深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第4頁●物聯(lián)網(wǎng)
(Internet
of
Things,IoT):
把所有物品通過信息傳感器與互聯(lián)網(wǎng)連接起來,實(shí)現(xiàn)智能化識(shí)別和管理的萬物互聯(lián)網(wǎng)絡(luò)。物聯(lián)網(wǎng)系統(tǒng)概述深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第5頁●健康管理通過物聯(lián)網(wǎng)技術(shù),智能設(shè)備實(shí)時(shí)監(jiān)測健康指標(biāo),提供專業(yè)運(yùn)動(dòng)建議和疾病
防治方案,助力科學(xué)健身和疾病預(yù)防?!裰悄?/p>
家
居物聯(lián)網(wǎng)技術(shù)驅(qū)動(dòng)家用電器智能化,通過各類智能設(shè)備實(shí)現(xiàn)遠(yuǎn)程控制,提升
家居舒適度和生活便利性?!裰腔鄢鞘兄Τ鞘薪煌?、環(huán)境監(jiān)測、市政管理智能化,實(shí)現(xiàn)節(jié)能減排,提升城市可
持續(xù)發(fā)展能力,改善市民生活質(zhì)量?!癞a(chǎn)業(yè)促進(jìn)5G技術(shù)為車聯(lián)網(wǎng)提供了更高速、更可
靠的網(wǎng)絡(luò)連接;同時(shí)人工智能、大數(shù)
據(jù)、云計(jì)算等技術(shù)的深度融合。
深圳信息職棠技術(shù)學(xué)院物聯(lián)網(wǎng)系統(tǒng)概述物聯(lián)網(wǎng)應(yīng)用領(lǐng)域第6頁內(nèi)存CPU輸出設(shè)備外存●計(jì)算機(jī)系統(tǒng)硬件架構(gòu)基本上是由CPU、
內(nèi)存、外存、輸入設(shè)備和輸出設(shè)備等五個(gè)部件組成計(jì)算機(jī)系統(tǒng)深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY輸入設(shè)備第7頁●嵌入式系統(tǒng)是以計(jì)算機(jī)系統(tǒng)技術(shù)為中心,綜合考慮產(chǎn)品需求、成本、功耗、可靠性等特性,而定制軟硬件資源的計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)深圳信息職業(yè)技術(shù)學(xué)院手機(jī)-計(jì)算機(jī)系統(tǒng)PC-計(jì)算機(jī)系統(tǒng)SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第8頁●物聯(lián)網(wǎng)系統(tǒng)是以嵌入式系統(tǒng)為基礎(chǔ),加入各種傳感器與聯(lián)網(wǎng)設(shè)備構(gòu)造而成。電池電壓采集EM7028SPL06-001LSM303DLHC藍(lán)牙MPU6050按鍵NFC模塊無線充電(或磁吸充電)深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY物聯(lián)網(wǎng)系統(tǒng)OLED屏LVGLSTM32F411
CEU6FreeRTOS第9頁9目錄1.
物聯(lián)網(wǎng)系統(tǒng)概述2.
華為海思Hi3861芯片概述3.
鴻蒙系統(tǒng)概述深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第10頁智能照明環(huán)境監(jiān)測3智慧城市●Hi3861是華為海思基于開源的RISC-V
CPU架構(gòu)推出集成Wi-Fi網(wǎng)絡(luò)的物聯(lián)網(wǎng)低功耗主控芯片Hi3861
芯片概述深圳信息職業(yè)技術(shù)學(xué)院Hi386
1產(chǎn)品
應(yīng)用SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY智能家電智能門鎖智能安防第11頁25●CPU:32bit
高性能CPU,最大工作頻率160MHz●
內(nèi)存:內(nèi)置SRAM
352KB●
外存:內(nèi)存ROM
288KB與2MB
Flash●
輸入/輸出設(shè)備接口:1個(gè)SDIO
Slave接口、2個(gè)SPI接口、2個(gè)I2C
接口、3
個(gè)
UART
接口、15個(gè)GPIO
接口、7路ADC
輸入、6路
PWM、1個(gè)
I2S接口●
內(nèi)置Wi-Fi:2.4GHz
頻段、支持IEEE
802.11b/g/n、支
持
加
密WFAWPA/WPA2
personal/WPS2.0協(xié)議、支持最大速率72.2MbpsHi3861
功能特性深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第12頁除Hi3861主控芯片電路外,還
提供了LED、按鍵、觸摸LCD屏
接口、type-c的USB轉(zhuǎn)UART接口
等。Hi3861
開發(fā)板(1/3)深圳信息職棠技術(shù)學(xué)院SHENZHEN
INSTTUTE
OF
INFORMATION
TECHNOLOGY第13頁GND核心板原理圖GPIO_GPIO_06/UART1_TXDWL_RF_RFIO_2GWL_RF_RFIO_2GWL_RF_RFIO_2G883Hi3861開發(fā)板(2/3)GPIO_00/IIC_SDAWL_RF_RFIO_2G3V31uFGNDANT1深圳信息職業(yè)技術(shù)學(xué)院12VDD_PM5
GPIO_08202122GNDGNDGP
lO_
14GP
lO_13GPIO_12GPIO_11HI3861GP
IO_10/SPI0_CuKSHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGYGP
lO_03GP
lO_04PMU_PWRONGPio_02第
1
4
頁09/SPIO_MOSIGNDGNDGNDGNDHi3861
開發(fā)板(3/3)GPIO
01·GNDLED和按鍵的電路原理圖深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGYKEY11212pFKEY2LED1R61kQR91kQ第15頁GPIOR502目錄1.
物聯(lián)網(wǎng)系統(tǒng)概述2.
華為海思Hi3861芯片概述3.
鴻蒙系統(tǒng)概述深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第16頁·OpenHarmony是華為向開放原子開源基金會(huì)捐贈(zèng)的一整套開源操作系統(tǒng)項(xiàng)目,它是鴻蒙操作系統(tǒng)的基礎(chǔ)版本,提供了一個(gè)完整的、基于微內(nèi)核的分布式操作系統(tǒng)
框架,具有多種操作系統(tǒng)內(nèi)核、多種網(wǎng)絡(luò)協(xié)議、圖形界面框架及文件系統(tǒng)等功能模
塊。鴻蒙系統(tǒng)概述深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第17頁系統(tǒng)基本能力子系統(tǒng)集ArkUI用戶程序框架Ability框架分布式任務(wù)調(diào)度分布式數(shù)據(jù)管理分布式軟總線方舟多語言運(yùn)行時(shí)子系統(tǒng)KAL(內(nèi)核抽象層)內(nèi)核子系統(tǒng)
Linux
KernelLiteOS
驅(qū)動(dòng)子系統(tǒng)
HDF
(硬件驅(qū)動(dòng)框架)系統(tǒng)應(yīng)用
桌
面
控制欄
設(shè)
置
電
話
擴(kuò)展應(yīng)用/三方應(yīng)用8
I
O
T
專
有
硬
件
服
務(wù)
子
系
統(tǒng))9穿戴專有硬件服務(wù)子系統(tǒng)用戶IAM子系統(tǒng)。
I
O
T
專
有
業(yè)
務(wù)
子
系
統(tǒng)○
穿
戴
專
有
業(yè)
務(wù)
子
系
統(tǒng)智慧屏專有業(yè)務(wù)子系統(tǒng)鴻蒙系統(tǒng)架構(gòu)安全子系統(tǒng)圖形子系統(tǒng)多模輸入子系統(tǒng)基礎(chǔ)軟件服務(wù)子系統(tǒng)集二應(yīng)
用
層框架層系統(tǒng)服務(wù)層內(nèi)核層深圳信息職業(yè)技術(shù)學(xué)院多媒體子系統(tǒng)電話子系統(tǒng)增強(qiáng)軟件服務(wù)子系統(tǒng)集
—□
事
件
通
知
子
系
統(tǒng)硬件服務(wù)子系統(tǒng)集、公共基礎(chǔ)庫子系統(tǒng)位置服務(wù)子系統(tǒng)第18頁。
E
A
I
子
系
統(tǒng)子統(tǒng)系&VDDPS系統(tǒng)類型輕量級系統(tǒng)小型級系統(tǒng)標(biāo)準(zhǔn)級系統(tǒng)支持的處理器ARM
Cortex-M、RISC-V32位等
資源極其有限的設(shè)備Arm
Cortex-A等高性能的
設(shè)備Arm
Cortex-A等超高性能的設(shè)備最少要求內(nèi)存128KB1MB128MB系統(tǒng)能力輕量級網(wǎng)絡(luò)協(xié)議,輕量級的圖形
框架,以及傳感器接口統(tǒng)一標(biāo)準(zhǔn)的圖形框架、性能強(qiáng)大的音視頻編解碼能力更強(qiáng)的交互響應(yīng)能力、3D
GPU以及出色的硬件加速能力、豐富的界面控件及效果突出的圖形框架、完整的應(yīng)用程序開發(fā)框架系統(tǒng)內(nèi)核LiteOS-MLiteOS-ALinux面向產(chǎn)品智能家居設(shè)備、傳感器設(shè)備、智
能穿戴類設(shè)備等視頻監(jiān)控、視頻貓眼、人
臉識(shí)別門禁等智能電視、手機(jī)、平板等鴻蒙系統(tǒng)類型第19頁KAL
抽
象
層文件系統(tǒng)FAT任務(wù)管理軟件定時(shí)器HPF時(shí)間管理ARMPOSIX可選組件CMSIS調(diào)測工具庫VFSLittleFs網(wǎng)
絡(luò)基礎(chǔ)內(nèi)核通信機(jī)制
內(nèi)存管理事件
互斥鎖動(dòng)態(tài)內(nèi)存CPU占用率TraceLMKexchook動(dòng)態(tài)鏈接C++GPIO?;厮軸hellLMS信號低功耗框架HDFI2C消息隊(duì)列調(diào)度器IDLE硬件相關(guān)中斷管理信號量靜態(tài)內(nèi)存Tickless異常處理
TrustZone硬件架構(gòu)RISC-VXtensa
C-SKYLiteOS-M
內(nèi)核鴻蒙系統(tǒng)架構(gòu)深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第20頁內(nèi)核LiteOS-A
內(nèi)核鴻蒙系統(tǒng)架構(gòu)Init通信機(jī)制事件
消息隊(duì)列互斥鎖
讀寫鎖信號量
信號快速鎖
共享內(nèi)存調(diào)度器基礎(chǔ)內(nèi)核多核核間鎖死鎖檢測IDLE硬件架構(gòu)
HDFCortex-AGPIO
I2C進(jìn)程管理任務(wù)管理軟件定時(shí)器OOMHPFTickless時(shí)間管理擴(kuò)展內(nèi)核C++VDSO動(dòng)態(tài)加載
低功耗框架通信機(jī)制Liteipc
Pipe調(diào)試工具虛擬內(nèi)存管理物理頁管理堆內(nèi)存管理動(dòng)態(tài)內(nèi)存靜態(tài)內(nèi)存CPU
占
用
率TracehilogblackboxperfHookhidumperLMS用戶進(jìn)程c庫
)系統(tǒng)調(diào)用安全Capability
VIDShell進(jìn)程內(nèi)存管理深圳信息職業(yè)技術(shù)學(xué)院POSIX
接
口(musl
文件系統(tǒng)信號調(diào)度統(tǒng)計(jì)硬件相關(guān)
中斷管理文件系統(tǒng)
FATprocfs調(diào)測工具
?;厮輧?nèi)存檢測系統(tǒng)調(diào)用適配層(POSIX
接口、
LiteoS接口)RootfsUID/GID線程通信機(jī)制網(wǎng)絡(luò)時(shí)間管理SHENZENINSTTUTEOFINFORMATIONTECHNOLOGYRamfszpfsJFFS2NFS第21頁異常處理內(nèi)存管理鏈接器用戶空間內(nèi)核空間內(nèi)
核
C
庫網(wǎng)絡(luò)VFS1
O
1
專
有
硬
件
服
務(wù)
子
系
統(tǒng)穿戴專有硬件服務(wù)子系統(tǒng)生物特征識(shí)別子系統(tǒng)位置服務(wù)子系統(tǒng)1
O
7
專
有
業(yè)
務(wù)
子
系
統(tǒng)穿戴專有業(yè)務(wù)子系統(tǒng)智慧屏專有業(yè)務(wù)子系統(tǒng)擴(kuò)展應(yīng)用/三方應(yīng)用增強(qiáng)軟件服務(wù)子系統(tǒng)集
硬件服務(wù)子系統(tǒng)集M
S
D
P
&
D
V
子
系
統(tǒng)D
F
X
子系
統(tǒng)多媒體子系統(tǒng)電話子系統(tǒng)事件通知子系統(tǒng)Linux內(nèi)核鴻蒙系統(tǒng)架構(gòu)系統(tǒng)應(yīng)用
桌面
控制欄
設(shè)置
電話安全子系統(tǒng)圖形子系統(tǒng)多模輸入子系統(tǒng)驅(qū)動(dòng)子系統(tǒng)HDF(OpenHarmony
驅(qū)動(dòng)框架)KAL(內(nèi)核抽象層)Linux
Kernel應(yīng)
用
層應(yīng)
用
框
架
層系
統(tǒng)
服
務(wù)
層內(nèi)
核
層分布式任務(wù)調(diào)度分布式數(shù)據(jù)管理深圳信息職棠技術(shù)學(xué)院分布式軟總線
公共基礎(chǔ)庫子系統(tǒng)UI框架Ability框架基礎(chǔ)軟件服務(wù)子系統(tǒng)集系統(tǒng)基本能力子系統(tǒng)集用戶程序框架內(nèi)核子系統(tǒng)第22頁A
I
子
系
統(tǒng)思考題1.
請簡述物聯(lián)網(wǎng)系統(tǒng)與嵌入式系統(tǒng)的關(guān)系。2.
請簡述OpenHarmony系統(tǒng)的三種類型。深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第23頁本節(jié)小結(jié)●描述了計(jì)算機(jī)系統(tǒng)、嵌入式系統(tǒng)、物聯(lián)網(wǎng)系統(tǒng)間的關(guān)系?!裰v述了Hi3861芯片的功能特性?!裰v述了OpenHarmony鴻蒙系統(tǒng)的三種類型。深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第24頁謝
謝深圳信息職棠技術(shù)學(xué)院SHENZHEN
INSTITUJTEOF
INFORMATIONTECHNOLOGY25深圳信息職棠技術(shù)學(xué)院SHENZHEN
INSTITUTE
OF
INFORMATION
TECHNOLOGY鴻蒙系統(tǒng)設(shè)備開發(fā)基礎(chǔ)前言●本章主要講述鴻蒙設(shè)備開發(fā)環(huán)境的搭建。深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第27頁本節(jié)概述和學(xué)習(xí)目標(biāo)●通過學(xué)習(xí)本節(jié)將能夠了解鴻蒙系統(tǒng)設(shè)備開發(fā)環(huán)境的搭建?!裢ㄟ^本節(jié)學(xué)習(xí)可以熟悉:□VSCode的安裝□devicetool鴻蒙插件安裝□設(shè)備開發(fā)的SDK
下載□設(shè)備開發(fā)所需的工具集下載和UART
接口驅(qū)動(dòng)安裝深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第28頁目錄1.VSCode的安裝2.
devicetool鴻蒙插件安裝3.
SDK下載4.工具集下載和UART接口驅(qū)動(dòng)安裝深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第29頁·VisualStudioCode(VSCode)是一款功能強(qiáng)大的、免費(fèi)開源的源代碼編輯軟件,它支持所有主流的開發(fā)語言,并在集成的插件市場上提供各種功能插件。鴻蒙系統(tǒng)
利用VSCode的插件機(jī)制,實(shí)現(xiàn)了設(shè)備開發(fā)流程的全面支持。在VSCode官網(wǎng)下載
Windows
系統(tǒng)版本軟件VSCode
安裝(1/3)深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第30頁●下載完成后執(zhí)行VSCodeUserSetup-x64-1.92.0.exe
后,根據(jù)向?qū)褂媚J(rèn)設(shè)置逐步完成安裝操作。安裝步驟完成后,啟動(dòng)VSCode,安裝必要的設(shè)備開發(fā)插件2
了
C/C++
①68.1M★3.5
C/C++IntelliSense,debugging,and
...李Microsoft
InstallC++IntellisenseC/C++Intellisense
with
the
help
of
G...
austin
Install
ΔC/C++Extension
Pack31.3M
★
4.5Popular
extensions
for
C++develop
…
李Microsoft
InstallBetter
C++Syntax
①11.4MThebleedingedge
ofthe
C++syntax
Jeff
Hykin
InstallDETAILS
FEATURES
CHADacC/C++for
Visual
Studio
CodeRepository
|Issues
|Documentation
|CodeSamplesC/C++
v1.21.5Microsoft
microsoft.com
①68,189,817C/C++IntelliSense,debugging,and
code
browsingInstall
?AutoUpdateFile
Edit
Selection
View
Go
Run
Terminal
HelpEXTENSIONS:MARKETPLACE
WelcomeVSCode
安裝(2/3)OSearchExtension:C/C++×深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGYC++Cc++C/C++第31頁VSCode
安裝(3/3)●“C/C++”插件用于實(shí)現(xiàn)VSCode
對鴻蒙系
統(tǒng)C語言源文件的支持?!瘛癎N”插件用于實(shí)現(xiàn)VSCode
對鴻蒙系統(tǒng)的
*.gn編譯配置文件的支持?!瘛癐nclude
AutoComplete”插件實(shí)現(xiàn)源程
序頭文件名的自動(dòng)補(bǔ)全。C/C++C/C++IntelliSense,debugging,and..MicrosoftGNEditGNfiles
inVisualStudio
Code
npclaudiuIncludeAutocompleteAutocompletion
for
C++includes
ajshortEXTENSIONSSearch
Extensionsin
MarketplaceINSTALLED
3深圳信息職棠技術(shù)學(xué)院第32頁目錄1.
VSCode
的安裝2.devicetool
鴻蒙插件安裝3.SDK下載4.工具集下載和UART接口驅(qū)動(dòng)安裝深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第33頁△DevEco
Device
Tool安裝安裝DevEco
Device
Tool正在檢查依賴項(xiàng).工具
版本要求
已安裝
狀態(tài)Python3.8-3.9(64-bit)3.80kVSCode
1.66.2+
1.92.0
0k選擇Python路徑DevEco
Device
Tool00<上一步在鴻蒙系統(tǒng)官網(wǎng)下載Windows
系統(tǒng)版本后得到“devicetool-windows-tool-00.zip”壓縮包。解壓壓縮包后,運(yùn)行“devicetool-windows-tool-00.exe”安裝程序。devicetool
鴻蒙插件安裝(1/2)C:\Users\jk\AppData\Local\Programs\Python\Python38\python.eze深圳信息職棠技術(shù)學(xué)院SHENZHEN
INSTTUTE
OF
INFORMATION
TECHNOLOGY(P)安裝(I)取消(C)第34頁devicetool
鴻蒙插件安裝(2/2)鴻蒙設(shè)備開發(fā)的VSCode
插件完成安裝后,在VSCode的插件列表中顯示出相關(guān)的插
件并在窗口左側(cè)新增了一個(gè)“DevEco”
頁
框按鈕INSTALLEDBurn
ToolHuaweiC/C++C/C++IntelliSense,debugging,and...DevEco
Device
Tool
Debug③12ms
HUAWEIDevEco
DeviceTool
Debug
…
HuaweiDevEco
Device
Tool
Remo...③203msDevelopment
environment
for
Open..
Huawei必
MicrosoftDevEco
Chip
ConfigHuawei深圳信息職棠技術(shù)學(xué)院③5ms第35頁目錄1.
VSCode
的安裝2.devicetool鴻蒙插件安裝3.SDK
下載4.工具集下載和UART接口驅(qū)動(dòng)安裝深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第36頁.git
記錄源碼的版本、配置、跟蹤等管理信息build
工程源碼編譯、打包鏡像等操作的Python
腳本程序doc
提供開發(fā)文檔、芯片手冊等sample
提供開發(fā)案例src
工程源碼目錄LICENSEREADME.md安裝完Git程序后,在命令行窗口執(zhí)行命令:gitclone/HiSpark/hi3861_hdu_iot_application
下載完成后,得到的適配Hi3861
的鴻蒙系統(tǒng)工程源碼深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGYSDK
下載第37頁目錄1.
VSCode
的安裝2.
devicetool鴻蒙插件安裝3.
SDK下載4.
工具集下載和UART接口驅(qū)動(dòng)安裝深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第38頁鴻蒙設(shè)備開發(fā)所需的編譯器等相關(guān)的工具在華為官網(wǎng)的下載地址:
https://hispark-obs.
obs.cn-east-3.myhuaweicloud.com/DevTools_Hi3861V100_v1.0.zip下載并解壓縮開發(fā)工具包后,放在較淺層次的目錄中且重命名文件夾個(gè)
>此電腦>本地磁盤(D:)>development
>Hi3861名稱hi3861-iothi3861-tools快速訪問WP
S云盤
此電腦修改日期2024/8/610:562024/8/613:09工具集下載類型文件夾文件夾深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第39頁設(shè)備管理器文件(F)
操作(A)查看(V)
幫助(H)安全設(shè)備處理器磁盤驅(qū)動(dòng)器存儲(chǔ)控制器打印隊(duì)列電池端口(COM
和
LPT)USB-SERIAL
CH340(COM3)固件執(zhí)行“D:\development\Hi3861\hi3861-tools\usb_serial_driver\CH341SER.EXE”完成驅(qū)動(dòng)安裝。安裝完成并通過數(shù)據(jù)線連接開發(fā)板與PC
機(jī)后,在系統(tǒng)的設(shè)備管理器即可查UART驅(qū)動(dòng)安裝看到對應(yīng)的COM口深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第40頁思考題1.
請簡述devicetool與VSCode的關(guān)系。深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第41頁本節(jié)小結(jié)●
講述了VSCode的安裝。●
講述了devicetool
插件的安裝?!裰v述了設(shè)備開發(fā)的SDK下載。●講述了設(shè)備開發(fā)的工具集下載?!裰v述了開發(fā)板UART接口的驅(qū)動(dòng)安裝。深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第42頁前言●本章主要講述Hi3861工程源碼開發(fā)基礎(chǔ)。深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第43頁本節(jié)概述和學(xué)習(xí)目標(biāo)●
通過學(xué)習(xí)本節(jié)將能夠?qū)W習(xí)Hi3861
工程源碼開發(fā)基礎(chǔ)?!裢ㄟ^本節(jié)學(xué)習(xí)可以熟悉:□工程源碼導(dǎo)入□工程配置□工程源碼編譯□工程程序燒錄□工程程序調(diào)試□工程加入程序代碼深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第44頁目錄1.
工程源碼導(dǎo)入2.
工程配置3.
工程源碼編譯4.
工程程序燒錄5.
工程程序調(diào)試6.
工程加入程序代碼深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第45頁OSearchWelcome
△
DevEco
Device
Tool×HomeWelcome
to
DevEco
Device
ToolRemoteDevelopmentResource
ManagerCLIDevEco
CLINewTerminalOfficial
WebSite
Document
FAQFeedbackUser
Agreement&&Statement
About
PrivacyProjectsInput
pro...
All
New
Project
Import
Project×0△020
深圳信息職棠技術(shù)學(xué)院工程源碼導(dǎo)入(1/3)DEVECO:QUICKACCESS第46頁Boards即可,其他兩項(xiàng)設(shè)置會(huì)自動(dòng)適配。ImportProject*
SOCHI3861FrameworkHbCancel●在首次導(dǎo)入工程源碼時(shí)會(huì)彈出設(shè)置窗口,設(shè)置源碼工程所用的主控芯片為HI3861Boardhi3861Import工程源碼導(dǎo)入(2/3)深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第47頁工程源碼導(dǎo)入(3/3)
SHENZHEN
INSTTUTE
OF
INFORMATION
TECHNOLOGYY
HI3861-IOT>.deveco
工程具體源文件目錄與用途>.vscode>build>doc>sample在sample\wifi-iot\app
子目錄下開發(fā)應(yīng)用程序提供一些如電源管理、
IO口操作等基礎(chǔ)功能調(diào)用接口
主要提供編譯配置等工具主控芯片適配鴻蒙系統(tǒng)的功能代碼主要提供芯片廠商的開發(fā)工具包主要提供鴻蒙系統(tǒng)的無線網(wǎng)絡(luò)、數(shù)據(jù)管理等功能框架主要提供解析gn
配置文件與構(gòu)建鴻蒙系統(tǒng)的工具
主要提供源碼工程系統(tǒng)類型、產(chǎn)品名稱等配置信息
主要提供系統(tǒng)測試框架的組件與工具主要提供第三方開源的功能庫,如paho.mqtt
庫主要提供鴻蒙系統(tǒng)通用的基礎(chǔ)組件,如定時(shí)器、文件操作等
主要提供芯片廠商或開發(fā)板商實(shí)現(xiàn)的系統(tǒng)層功能>ap
plications
>base>build>device
ird_party>utils>vendorthest>domains>foundation>prebuilts>productdefine深圳信息職業(yè)技術(shù)學(xué)院Y
src第48頁目錄1.
工程源碼導(dǎo)入2.
工程配置3.
工程源碼編譯4.
工程程序燒錄5.
工程程序調(diào)試6.
工程加入程序代碼深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第49頁Go
9hi3861-iot□
□
08
□
×DevEco
Device
Tool×1hi3861-iot3Tool
Chain
hi3861ProjectConfig
managerbuild
compiler_bin_pathbuild_type
complier
tool
chainboard_duct
D:\development'Hi3861hi3861-tools5
×compiler_bin_pathupload
V
uploadupload_portupload_portnupoau
ponwnecn
uprozter
oruse1rammware
supload_partitionsCOM3
[USB-SERIALCH340(COM3)]
6upload_resetupload_speedupload_protocolA
protocol
that
uploader
tool
uses
to
talk
to
a
boarddebughiburn-serialdebug
clientCPROJECT
TASKShi3861面CleanBuildRebuildUploadMonitorlDoD
ProfilingStackAnalysisD?Image
Analysis°master0
×0△0
200工程配置 File
Edit
SelectionViewDEVECOQUICK
ACCESSMenuHomeProjectSettings
2
BoardsHDFRemote
Development
Resource
ManagerCLIDevEco
CLINew
Terminal深圳信息職業(yè)技術(shù)學(xué)院V7upload_protocol第50頁上目錄1.
工程源碼導(dǎo)入2.
工程配置3.
工程源碼編譯4.
工程程序燒錄5.
工程程序調(diào)試深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第51頁點(diǎn)擊“Build”或
“Rebuild”按鈕進(jìn)行編譯。
Rebuild
會(huì)清除所有已編譯文件并重新編譯,適用于新增或刪除工程源文件時(shí);使用Build,
它只會(huì)更新這些修改過的文件。PROJECTTASKShi3861煎CleanO
Build④RebuildUpload草MonitorD0DProfiling&StackAnalysis0D
ImageAnalysisOmaster*
×0△0
00工程源碼編譯深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第52頁目錄1.
工程源碼導(dǎo)入2.
工程配置3.
工程源碼編譯4.
工程程序燒錄5.
工程程序調(diào)試6.
工程加入程序代碼深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第53頁P(yáng)ROBLEMS
OUTPUT
TERMINA
L
PORTS
DEBUG
CONSOLE
2deveco:upload-hi3861-Task*Executing
task:C:\Program
Files\Huawei\DevECo-Device-Tool\core\deveco-venv\Scripts\hos.exepload--project-dir
D:\development\Hi3861\hi3861-iot--environment
hi3861Processing
hi3861
(platform:cfbb;board:hi3861;framework:hb)Verbosemodecanbeenabledvia^-v,--verbose`optionConfiguringupload..CURRENT:upload_protocol=hiburn-serialUploading
with
HiBurnConnecting,please
reset
device
…
.點(diǎn)擊“Upload
”待TERMINAL窗口上輸出提示后,則按開發(fā)板的RESET鍵后啟動(dòng)通過UART
接口傳輸并燒錄程序文件。V
PROJECTTASKShi3861CleanO
BuildRebuildUpload草
MonitorL0DProflingR&StackAnalysis00
ImageAnalysis深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY工程程序燒錄第54頁目錄1.
工程源碼導(dǎo)入2.
工程配置3.
工程源碼編譯4.
工程程序燒錄5.
工程程序調(diào)試6.
工程加入程序代碼深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第55頁P(yáng)ROBLEMSOUTPUTTERMINAL
DEBUGCONSOLE--encoding
UTF-8--project-dir
D:\development\Hi3861\hi3861-iot-Miniterm
on
COM4115200,8,N,1
Quit:Ctrl+C|Menu:Ctrl+T|Help:ctrl+T
followedbyctrl+H
ready
to
oS
startsdk
ver:Hi3861V100RO01COOSPC0252020-09-0318:10:00wifi
init
success!hilog
willinit.PROJECTTASKSO
BuildRebuildUploadJ
MonitorLD0D
Profiling&StackAnalysisD0
ImageAnalysis點(diǎn)擊“Monitor”
以啟動(dòng)UART接收功能,此時(shí)開發(fā)板會(huì)通過UART接口返回相關(guān)信息。工程程序調(diào)試深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGYformatting
spiffs...Filesystemmount
ok.第56頁目錄1.
工程源碼導(dǎo)入2.
工程配置3.
工程源碼編譯4.
工程程序燒錄5.
工程程序調(diào)試6.
工程加入程序代碼深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第57頁√applications\sample\wifi-iotapp>demolink>iothardwaremyhelloC
myhello_demo.c>samgr>startupBUILD.gn在VSCode
源文件瀏覽器上選中“app”
文件夾后,右鍵菜單選擇“New
Folder…
”創(chuàng)
建myhello
子目錄,并通過“New
File
…”
右鍵菜單創(chuàng)建myhello_demo.c源文件工程加入程序代碼深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第58頁工程加入程序代碼Myhello_demo.c
輸入代碼:#include<stdio.h>//提供printf
函數(shù)#include<ohos_init.h>//提供SYS_RUN/APP_FEATURE_INIT
宏定義voidmyhelloInit()//自定義的入口函數(shù){printf("myhello
init\n");}//指定在鴻蒙系統(tǒng)的應(yīng)用層執(zhí)行入口函數(shù)APP_FEATURE_INIT(myhelloInit);//指定在鴻蒙系統(tǒng)的系統(tǒng)服務(wù)層執(zhí)行入口函數(shù)//SYS_RUN(myhelloInit);深圳信息職棠技術(shù)學(xué)院SHENZHEN
INSTTUTE
OF
INFORMATION
TECHNOLOGY第59頁工程加入程序代碼在
myhello目錄下創(chuàng)建BUILD.gn
文件,并輸入內(nèi)容:#指定編譯目標(biāo)名為myhello_test,生成靜態(tài)庫libmyhello_test.astatic_library("myhello_test"){#指定程序是由哪些源文件組成,當(dāng)多個(gè)源文件時(shí)由","分隔sources=["myhello_demo.c"]#指定頭文件所在路徑include_dirs
=["http://utils/native/lite/include",深圳信息職棠技術(shù)學(xué)院SHENZHEN
INSTTUTE
OF
INFORMATION
TECHNOLOGY第60頁工程加入程序代碼修改app目錄下BUILD.gn文件內(nèi)容:import("http://build/lite/config/component/lite_component.gni")lite_component("app"){features=[#
"startup",#注釋不參與編譯的程序#格式:"子目錄名:子目錄BUILD.gn中定義的目標(biāo)名""myhello:myhello_test"深圳信息職棠技術(shù)學(xué)院SHENZHEN
INSTTUTE
OF
INFORMATION
TECHNOLOGY第61頁Build編譯工程時(shí)在終端輸出:[OHOSINFO][1/6]gcccrosscompilerobj/applications/sample/wifi-iot/app/myhello/libmyhello_test.myhello_demo.0[OHOSINFO][2/6]ARlibs/libmyhello_test.a[0HOSINFO][3/6]STAMPobj/applications/sample/wifi-iot/app/app.stamp[OHOS
INFO][4/6]STAMP
obj/build/lite/ohos.stamp[OHOSINFO][5/6]ACTION//device/hisilicon/hispark_pegasus/sdk_liteos:run_wifiiot_scons(//build/lite/toolchain:riscv32-unknown-elf)[OHOSINFO]D:\development\Hi3861\hi3861-iot\src\vendor\hisilicon\hispark_pegasus\fs.ymlnotfound,
stoppacking
fs.If
theproduct
doesnotneed
tobepackaged,ignoreit.[OHOS
INFO]wifiiot_hispark_pegasus
build
success[OHOS
INF0]cost
time:0:00:04please
check
the
compilation
log:C:\Users\jk\.deveco-device-tool\logs\build\build.log將程序燒錄至開發(fā)板后,執(zhí)行Monitor程序并重啟開發(fā)板,隨后即可在終端中查看到“myhello
init”的
輸出信息。====================[SUCCESS]Took6.09seconds
======
Terminal
willbereusedbytasks,pressanykeytoclose
it.
深圳信息職業(yè)技術(shù)學(xué)院工程加入程序代碼第62頁思考題1.
請簡述開發(fā)板USB線的作用。深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第63頁本節(jié)小結(jié)●講述了工程源碼導(dǎo)入操作?!裰v述了工程的配置?!裰v述了工程源碼的編譯。●講述了工程程序燒錄方法?!裰v述了工程程序調(diào)試方法?!裰v述了工程中加入程序代碼的方法深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第64頁前言●本章主要講述鴻蒙設(shè)備GPIO
應(yīng)用開發(fā)。深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第65頁本節(jié)概述和學(xué)習(xí)目標(biāo)●通過學(xué)習(xí)本節(jié)將能夠了解鴻蒙系統(tǒng)設(shè)備GPIO
應(yīng)用開發(fā)?!裢ㄟ^本節(jié)學(xué)習(xí)可以熟悉:□華為海思的GPIO
操作函數(shù)□鴻蒙系統(tǒng)的GPIO
操作函數(shù)□鴻蒙系統(tǒng)的GPIO中斷處理深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第66頁目錄1.華為海思的GPIO操作函數(shù)2.
鴻蒙系統(tǒng)的GPIO操作函數(shù)3.
鴻蒙系統(tǒng)的GPIO中斷處理深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第67頁BitsAccessNameDescriptionReset[31:3]reserved保留。0x00000000[2:0]RWgpio_03_selGPIO_03管腳的具體復(fù)用情況。000:GPIO[3];001:UART0_TXD;010:UART1_CTS_N;011:SPI1_CSN;100:JTAG_TDI;101:PWM5_OUT;110:I2C1_SDA;111:SSI_DATA。0x0GPIO(General
Purpose
Input/Output,通用輸入輸出口)主要作為輸入或輸出功能使用,當(dāng)需要用代碼主動(dòng)控制GPIO
輸出高低電平時(shí),
GPIO
應(yīng)當(dāng)設(shè)置輸出功能;當(dāng)需要通過GPIO
獲
取連接設(shè)備輸出的高低電平時(shí),
GPIO
應(yīng)當(dāng)設(shè)置輸入功能。Hi3861
芯片手冊中GPIO_03
GPIO的用途選擇寄存器:GPIO_03_SEL
為
GPIO_03
管腳復(fù)用控制寄存器。OffsetAddress:0x610Total
Reset
Value:Ox0000_0000華為海思的GPIO
操作函數(shù)(1/7)第68頁LED連接到GPIO_02引
腳
,GPIO_02應(yīng)當(dāng)被配置為輸出功能。當(dāng)GPIO_02引腳輸出高電平時(shí),LED亮;而當(dāng)GPIO_02輸出低電平時(shí),LED熄。華為海思的GPIO操作函數(shù)(2/7)D3LED-0603深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGYGPIO02>>PWMLED第69頁R19Hi3861
共有15個(gè)多功能的GPIO,
在鴻蒙工程中的hi_io.h頭文件,芯片廠家已定義好表示每個(gè)GPIO的枚舉常量:typedef
enum
{HI_IO_NAME_GPIO_0,HI_IO_NAME_GPIO_
14,}hi_io_name;華為海思的GPIO
操作函數(shù)(3/7)由此可見,HI_IO_NAME_GPIO_2對應(yīng)著GPIO_02引腳。//表示GPI00//表示GPI014深圳信息職業(yè)技術(shù)學(xué)院SHENZEN
INSTITUTEOF
INFORMATIONTECHNCLOGY第70頁typedef
enum{HI_IO_FUNC_GPIO_2_GPIO,//該引腳可作為通用GPIO,用于連接輸入輸出高低電平的設(shè)備。HI_I0_FUNC_GPIO_2_UART1_RTS_N=2,//該引腳可作為第1個(gè)UART控制器的硬件流控功能
引
腳
。HI_IO_FUNC_GPIO_2_SPI1_TXD,//作為第1個(gè)SPI控制器的數(shù)據(jù)發(fā)送引腳HI_IO_FUNC_GPIO_2_JTAG_TRSTN,//作為連接JTAG調(diào)試器的功能引腳HI_IO_FUNC_GPIO_2_PWM2_OUT,
//
作為第2個(gè)PWM控制器信號輸出引腳HI_IO_FUNC_GPIO_2_SSI_CLK
=7,//作為SSI控制器的時(shí)鐘輸出引腳}hi_io_func_gpio_2;華為海思的GPIO操作函數(shù)(4/7)在hi_io.h頭文件中,也定義一系列的枚舉常量描述每個(gè)GPIOPIO_02
的功能描述為:可選擇使用的功能,例如G深圳信息職棠技術(shù)學(xué)院SHENZHENINSTTUTE
OFINFORMATION
TECHNCLOGY第71頁Hi3861
的每個(gè)GPIO
都是多用途功能的,但某一時(shí)刻只能選擇其中一種功能。同時(shí)在hi_io.h頭文件中提供了設(shè)置GPIO用途的函數(shù):hi_u32hi_io_set_func(hi_io_name
id,hi_u8val);用法:由于GPIO_2僅需通過輸出高低電平即可實(shí)現(xiàn)控制LED
的亮滅,因此應(yīng)將GPIO_02引腳配置為GPIO引腳用途,相應(yīng)的設(shè)置代碼如下:hi_io_set_func(HI_IO_NAME_GPIO_2,HI_IO_FUNC_GPIO_2_GPIO);若要使GPIO
默認(rèn)保持高低電平狀態(tài),可以配置GPIO
的上下拉功能,該功能由hi_io.h頭文件中
的配置函數(shù)提供:hi_u32
hi_io_set_pull(hi_io_name
id,hi_io_pull
val);用法:如設(shè)置GPIO_02引腳默認(rèn)處于高電平狀態(tài),則設(shè)置上拉的代碼應(yīng)當(dāng)如下:hi_io_set_pull(HI_IO_NAME_GPIO_2,HI_IO_PULL_UP);華為海思的GPIO操作函數(shù)(5/7)深圳信息職業(yè)技術(shù)學(xué)院SHENZEN
INSTTUTE
OF
NFORMATION
TECHNOLOGY第72頁HI_GPIO_IDX_14,
//表示GPIO14}hi_gpio_idx;與hi_io.h中GPIO的枚舉常量相對應(yīng),也可以直接使用hi_io.h中的常量用于設(shè)置id對應(yīng)的GPIO
選擇dir值指定的輸入或輸出功能,注意IO須設(shè)置GPIO
用途。
hi_u32
hi_gpio_set_dir(hi_gpio_idx
id,hi_gpio_dirdir);typedef
enum{HI_GPIO_DIR_IN
=0,//表示輸入HI_GPIO_DIR_OUT//
表示輸出}hi_gpio_dir;
表示輸入與輸出功能的枚舉類型華為海思的GPIO
操作函數(shù)(6/7)typedef
enum{HI_GPIO_IDX_0,//表示GPIO0深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第73頁
華為海思的GPIO操作函數(shù)(7/7)
設(shè)置id對應(yīng)的GPIO
輸出val值指定的高或低電平,注意GPIO
須設(shè)置輸出功能hi_u32hi_gpio_set_ouput_val(hi_gpio_idx
id,hi_gpio_value
val);typedef
enum{HI_GPIO_VALUEO=0,//
表示低電平HI_GPIO_VALUE1
//
表示高電平}hi_gpio_value;表示GPIO
電平狀態(tài)的枚舉類型獲取id對應(yīng)的GPIO
輸出電平狀態(tài),
val參數(shù)為一個(gè)hi_gpio_value變量的地址,用于存放電平狀態(tài)值
hi_u32hi_gpio_get_output_val(hi_gpio_idx
id,hi_gpio_value*val);獲取id對應(yīng)的GPIO
輸入電平狀態(tài),
val參數(shù)為hi_gpio_value類型變量的地址,用于存放獲取的電平狀態(tài)
hi_u32hi_gpio_get_input_val(hi_gpio_idx
id,hi_gpio_value*val)深圳信息職業(yè)技術(shù)學(xué)院SHENZEN
INSTTUTEOF
NFORMATIONTECHNOLOGY第74頁目錄1.
華為海思的GPIO操作函數(shù)2.
鴻蒙系統(tǒng)的GPIO操作函數(shù)3.
鴻蒙系統(tǒng)的GPIO中斷處理深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第75頁鴻蒙系統(tǒng)在iot_gpio.h
頭文件中提供了大量以IoT開頭命名的通用操作函數(shù)申請并標(biāo)記使用id
對應(yīng)的GPIO,
在多人協(xié)同開發(fā)中避免重復(fù)使用同一個(gè)IOunsignedint
IoTGpioInit(unsignedintid);申請成功返回IOT_SUCCESS(值0),失敗返回IOT_FAILURE設(shè)置指定id對應(yīng)的GPIO功能,dir指定的輸入或輸出功能unsignedintIoTGpioSetDir(unsignedintid,IotGpioDirdir);
typedef
enum
{IOT_GPIO_DIR_IN=0,//
表示輸入IOT_GPIO_DIR_OUT
//表示輸出}IotGpioDir;輸入輸出類型鴻蒙系統(tǒng)的GPIO
操作函數(shù)(1/2)深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第76頁typedef
enum{IOT_GPIO_VALUE0
=0,//表示低電平IOT_GPIO_VALUE1
//表示高電平}IotGpioValue;在IoT函數(shù)中表示GPIO電平狀態(tài)的枚舉類型設(shè)置id對應(yīng)的GPIO輸出val指定的高低電平unsigned
int
IoTGpioSetOutputVal(unsigned
int
id,IotGpioValue獲取id對應(yīng)的GPIO輸出電平狀態(tài),并將輸出的電平值存入val指向的變量unsigned
int
IoTGpioGetOutputVal(unsigned
int
id,IotGpioValue獲取id對應(yīng)的GPIO輸入電平狀態(tài),并將獲取的電平值存入val指向的變量
unsigned
int
IoTGpioGetInputVal(unsigned
int
id,IotGpioValue深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGYval);*val);*val);
鴻蒙系統(tǒng)的GPIO
操作函數(shù)(2/2)第77頁目錄1.
華為海思的GPIO操作函數(shù)2.
鴻蒙系統(tǒng)的GPIO操作函數(shù)3.
鴻蒙系統(tǒng)的GPIO中斷處理深圳信息職業(yè)技術(shù)學(xué)院SHENZHEN
INSTTUTEOF
INFORMATIONTECHNOLOGY第78頁只要GPIO的電平
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026湖北省面向西安交通大學(xué)普通選調(diào)生招錄考試備考試題及答案解析
- 2026年杭州西湖區(qū)古蕩街道辦事處招聘編外合同工5人考試參考題庫及答案解析
- 2026年安康市漢濱區(qū)第三人民醫(yī)院招聘(22人)考試備考試題及答案解析
- 2026江蘇南京市鼓樓區(qū)城市管理局招聘道路停車收費(fèi)員1人考試備考試題及答案解析
- 2026青海海南州州本級醫(yī)療機(jī)構(gòu)面向社會(huì)招聘備案制醫(yī)務(wù)人員80人考試備考試題及答案解析
- 2026年鶴崗師范高等??茖W(xué)校單招職業(yè)技能筆試參考題庫帶答案解析
- 2026甘肅蘭州市皋蘭縣融媒體中心面向社會(huì)招聘主持人、全媒體記者2人考試參考題庫及答案解析
- 2026年陜西省安康市鹽業(yè)有限公司招聘(3人)考試備考試題及答案解析
- 2026河北唐山玉田啟臻高級中學(xué)招聘教師考試備考試題及答案解析
- 2026中國一汽校園招聘考試備考試題及答案解析
- 2026南水北調(diào)東線山東干線有限責(zé)任公司人才招聘8人筆試模擬試題及答案解析
- 動(dòng)量守恒定律(教學(xué)設(shè)計(jì))-2025-2026學(xué)年高二物理上冊人教版選擇性必修第一冊
- 2025年全國注冊監(jiān)理工程師繼續(xù)教育題庫附答案
- 網(wǎng)絡(luò)素養(yǎng)與自律主題班會(huì)
- 波形護(hù)欄工程施工組織設(shè)計(jì)方案
- 非靜脈曲張性上消化道出血管理指南解讀課件
- 自建房消防安全及案例培訓(xùn)課件
- 2025年廣東省第一次普通高中學(xué)業(yè)水平合格性考試(春季高考)思想政治試題(含答案詳解)
- 2025云南楚雄州永仁縣人民法院招聘聘用制司法輔警1人參考筆試試題及答案解析
- 2024年和田地區(qū)遴選公務(wù)員筆試真題匯編附答案解析
- 股份掛靠協(xié)議書范本
評論
0/150
提交評論