国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-IOT硬件子系統(tǒng)-GPIO

這篇具有很好參考價(jià)值的文章主要介紹了HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-IOT硬件子系統(tǒng)-GPIO。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-IOT硬件子系統(tǒng)-GPIO,OpenHarmony鴻蒙攻城記,harmonyos,物聯(lián)網(wǎng),華為,OpenHarmony,LiteOS,鴻蒙

輕量系統(tǒng)設(shè)備通常需要進(jìn)行外設(shè)控制,例如溫濕度數(shù)據(jù)的采集、燈開關(guān)的控制,因此在完成內(nèi)核開發(fā)后,需要進(jìn)行設(shè)備驅(qū)動的開發(fā)。

主要Hi3861芯片介紹如何運(yùn)用 IoT 硬件子系統(tǒng)進(jìn)行輕量系統(tǒng)設(shè)備的驅(qū)動開發(fā)。

在輕量系統(tǒng)的聯(lián)接模組中,智能家居遠(yuǎn)程控制能力的實(shí)現(xiàn),最終是通過 IoT 硬件子系統(tǒng)部件發(fā)送指令到特定的家居設(shè)備。

Hi3861芯片提供設(shè)備操作接口有:GPIO、PWM、UART、I2C、SPI、ADC、WATCHDOG、FLASH、LOWPOWER、RESET 等。

一、GPIO 概述

GPIO(General-purpose input/output)即通用型輸入輸出,用于控制芯片引腳的數(shù)字輸入和數(shù)字輸出。通常,GPIO 控制器通過分組的方式管理所有 GPIO 管腳,每組 GPIO 有一個(gè)或多個(gè)寄存器與之關(guān)聯(lián),通過讀寫寄存器完成對 GPIO 管腳的操作。

GPIO 是芯片上一根能完成多種功能的管腳,用戶可以通過 GPIO 口和硬件進(jìn)行數(shù)據(jù)交互(如UART),控制硬件工作(如 LED,蜂鳴器等),讀取硬件的工作狀態(tài)信號(如中斷信號)等。

例如 GPIO_00 引腳復(fù)用表如下:(剩余引腳復(fù)用信息,請查看廠商芯片手冊)。

管腳 管腳名稱 類型 驅(qū)動(mA) 電壓(V) 描述
復(fù)用信號0:GPIO_00
復(fù)用信號1:UART1_TXD
復(fù)用信號2:SPI1_CLK
2 GPIO_00 I/O 1 3.3/1.8 復(fù)用信號3:PWM3_OUT
復(fù)用信號4:I2C_SDA
復(fù)用信號5:RTC_OSC_32K
復(fù)用信號6:RTC32K_XOUT
復(fù)用信號7:保留

GPIO 接口定義了操作 GPIO 管腳的標(biāo)準(zhǔn)方法集合,包括:

  • 設(shè)置管腳方向:方向可以是輸入或者輸出(暫不支持高阻態(tài))
  • 讀寫管腳電平值:電平值可以是低電平或高電平
  • 設(shè)置管腳中斷服務(wù)函數(shù):設(shè)置一個(gè)管腳的中斷響應(yīng)函數(shù),以及中斷觸發(fā)方式
  • 使能和禁止管腳中斷:禁止或使能管腳中斷

GPIO 引腳復(fù)用流程如下:

HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-IOT硬件子系統(tǒng)-GPIO,OpenHarmony鴻蒙攻城記,harmonyos,物聯(lián)網(wǎng),華為,OpenHarmony,LiteOS,鴻蒙

二、GPIO模塊相關(guān)API

頭文件路徑:base/iothardware/peripheral/interfaces/inner_api/iot_gpio.h

接口函數(shù) 描述
unsigned int IoTGpioInit(unsigned int id) 確定GPIO管腳號
unsigned int IoTGpioSetDir(unsigned int id, IotGpioDir dir) 設(shè)置管腳方向
unsigned int IoTGpioSetOutputVal(unsigned int id, IotGpioValue val) 設(shè)置管腳電平
unsigned int IoTGpioRegisterIsrFunc(unsigned int id, IotGpioIntType intType, IotGpioIntPolarity intPolarity, GpioIsrCallbackFunc func, char *arg) 設(shè)置管腳中斷

三、實(shí)例

//代碼功能:定義 GPIO_00 號口為輸出模式且輸出高電平。
#include "iot_gpio.h"
IoTGpioInit(GPIO_00);
IoTGpioSetDir(GPIO_00 , IOT_GPIO_DIR_OUT);
IoTGpioSetOutputVal(GPIO_00 , IOT_GPIO_VALUE0);
while (1) {
    IoTGpioSetOutputVal(LED_GPIO, IOT_GPIO_VALUE1);
    sleep(1);
    IoTGpioSetOutputVal(LED_GPIO, IOT_GPIO_VALUE0);
    sleep(1);
}

四、GPIO HDF驅(qū)動開發(fā)

在HDF框架中,同類型設(shè)備對象較多時(shí)(可能同時(shí)存在十幾個(gè)同類型配置器),若采用獨(dú)立服務(wù)模式,則需要配置更多的設(shè)備節(jié)點(diǎn),且相關(guān)服務(wù)會占據(jù)更多的內(nèi)存資源。相反,采用統(tǒng)一服務(wù)模式可以使用一個(gè)設(shè)備服務(wù)作為管理器,統(tǒng)一處理所有同類型對象的外部訪問(這會在配置文件中有所體現(xiàn)),實(shí)現(xiàn)便捷管理和節(jié)約資源的目的。GPIO模塊采用統(tǒng)一服務(wù)模式(如圖1所示)。

在統(tǒng)一模式下,所有的控制器都被核心層統(tǒng)一管理,并由核心層統(tǒng)一發(fā)布一個(gè)服務(wù)供接口層,因此這種模式下驅(qū)動無需再為每個(gè)控制器發(fā)布服務(wù)。

GPIO模塊各分層作用:

接口層:提供操作GPIO管腳的標(biāo)準(zhǔn)方法。

核心層:提供GPIO管腳資源匹配,GPIO管腳控制器的添加、移除以及管理的能力,通過鉤子函數(shù)與適配層交互,供芯片廠家快速接入HDF框架。

適配層:由驅(qū)動適配者將鉤子函數(shù)的功能實(shí)例化,實(shí)現(xiàn)與硬件相關(guān)的具體功能。

HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-IOT硬件子系統(tǒng)-GPIO,OpenHarmony鴻蒙攻城記,harmonyos,物聯(lián)網(wǎng),華為,OpenHarmony,LiteOS,鴻蒙

4.1、LED驅(qū)動程序(待續(xù)…)

4.2、LED驅(qū)動配置(待續(xù)…)

堅(jiān)持就有收獲

HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-IOT硬件子系統(tǒng)-GPIO,OpenHarmony鴻蒙攻城記,harmonyos,物聯(lián)網(wǎng),華為,OpenHarmony,LiteOS,鴻蒙文章來源地址http://www.zghlxwxcb.cn/news/detail-834478.html

到了這里,關(guān)于HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-IOT硬件子系統(tǒng)-GPIO的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-輕量系統(tǒng)內(nèi)核內(nèi)存管理-動態(tài)內(nèi)存

    HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-輕量系統(tǒng)內(nèi)核內(nèi)存管理-動態(tài)內(nèi)存

    動態(tài)內(nèi)存管理,即在內(nèi)存資源充足的情況下,根據(jù)用戶需求,從系統(tǒng)配置的一塊比較大的連續(xù)內(nèi)存(內(nèi)存池,也是堆內(nèi)存)中分配任意大小的內(nèi)存塊。當(dāng)用戶不需要該內(nèi)存塊時(shí),又可以釋放回系統(tǒng)供下一次使用。 初始化 LOS_MemInit。初始一個(gè)內(nèi)存池后生成一個(gè)內(nèi)存池控制頭、尾

    2024年02月20日
    瀏覽(33)
  • HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-輕量系統(tǒng)內(nèi)核基礎(chǔ)-消息隊(duì)列queue

    HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-輕量系統(tǒng)內(nèi)核基礎(chǔ)-消息隊(duì)列queue

    隊(duì)列又稱消息隊(duì)列,是一種常用于任務(wù)間通信的數(shù)據(jù)結(jié)構(gòu)。隊(duì)列接收來自任務(wù)或中斷的不固定長度消息,并根據(jù)不同的接口確定傳遞的消息是否存放在隊(duì)列空間中。 任務(wù)能夠從隊(duì)列里面讀取消息,當(dāng)隊(duì)列中的消息為空時(shí),掛起讀取任務(wù);當(dāng)隊(duì)列中有新消息時(shí),掛起的讀取任務(wù)

    2024年02月20日
    瀏覽(26)
  • HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-輕量系統(tǒng)內(nèi)核基礎(chǔ)-互斥鎖mux

    HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-輕量系統(tǒng)內(nèi)核基礎(chǔ)-互斥鎖mux

    互斥鎖又稱互斥型信號量,是一種特殊的二值性信號量,用于實(shí)現(xiàn)對共享資源的獨(dú)占式處理。 任意時(shí)刻互斥鎖的狀態(tài)只有兩種,開鎖或閉鎖。當(dāng)有任務(wù)持有時(shí),互斥鎖處于閉鎖狀態(tài),這個(gè)任務(wù)獲得該互斥鎖的所有權(quán)。當(dāng)該任務(wù)釋放它時(shí),該互斥鎖被開鎖,任務(wù)失去該互斥鎖的

    2024年02月20日
    瀏覽(17)
  • HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-輕量系統(tǒng)內(nèi)核基礎(chǔ)-信號量semaphore

    HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證V2.0-輕量系統(tǒng)內(nèi)核基礎(chǔ)-信號量semaphore

    信號量(Semaphore)是一種實(shí)現(xiàn)任務(wù)間通信的機(jī)制,可以實(shí)現(xiàn)任務(wù)間同步或共享資源的互斥訪問。 一個(gè)信號量的數(shù)據(jù)結(jié)構(gòu)中,通常有一個(gè)計(jì)數(shù)值,用于對有效資源數(shù)的計(jì)數(shù),表示剩下的可被使用的共享資源數(shù),其值的含義分兩種情況: 0,表示該信號量當(dāng)前不可獲取,因此可能

    2024年02月19日
    瀏覽(18)
  • HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證-HarmonyOS簡介

    HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證-HarmonyOS簡介

    本章主要介紹HarmonyOS分布式操作系統(tǒng)的概念、關(guān)鍵技術(shù)與能力以及HarmonyOS典型的應(yīng)用場景。 學(xué)習(xí)完成本課程后,您將能夠: 了解HarmonyOS的相關(guān)概念和產(chǎn)品定位; 了解HarmonyOS的技術(shù)架構(gòu); 了解HarmonyOS的關(guān)鍵特性。 HarmonyOS 是一款面向萬物互聯(lián)時(shí)代的、全新的分布式操作系統(tǒng)。

    2024年01月25日
    瀏覽(34)
  • HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證-序

    HCIA-HarmonyOS設(shè)備開發(fā)認(rèn)證-序

    最近涉及到HarmonyOS鴻蒙系統(tǒng)設(shè)備開發(fā),在網(wǎng)絡(luò)上已經(jīng)有很多相關(guān)資料,視頻教程,我也移植了公司的一個(gè)stm32G474板卡,運(yùn)行LiteOS-m L0系統(tǒng)。 一面看資料一面移植,遇到不少坑,當(dāng)看到運(yùn)行的LOGO時(shí),那是非常激動了。 由于沒有系統(tǒng)性的學(xué)習(xí),難免遇到不少坑,自己也決定找個(gè)

    2024年01月20日
    瀏覽(20)
  • HCIA-HarmonyOS應(yīng)用開發(fā)工程師 V2.0 模擬考試

    低代碼開發(fā)提供UI可視化開發(fā)能力,支持自由拖拽組件和可視化數(shù)據(jù)綁定,可快速預(yù)覽效果,所見即所得。通過拖拽式編排、可視化配置的方式,幫助開發(fā)者減少重復(fù)性的代碼編寫,快速地構(gòu)建多端應(yīng)用程序。 正確(True) 在使用ArkTS語言開發(fā)界面UI代碼過程中,如果添加或刪除

    2024年02月04日
    瀏覽(27)
  • HCIA-HarmonyOS Application Developer學(xué)習(xí)筆記

    HCIA-HarmonyOS Application Developer學(xué)習(xí)筆記

    HarmonyOS 是一款面向萬物互聯(lián)時(shí)代的、全新的分布式操作系統(tǒng),它是一個(gè)全場景分布式智慧操作系統(tǒng),覆蓋了1+8+N全場景終端設(shè)備,其中手機(jī)是整個(gè)分布式能力的核心。 與原生Android 系統(tǒng)對比,HarmonyOS 不僅可以支持手機(jī),還可以支持電腦、智慧屏、穿戴設(shè)備、智能家居、車機(jī)系

    2024年02月13日
    瀏覽(21)
  • HCIA-HarmonyOS Application Developer——題目集2

    HCIA-HarmonyOS Application Developer——題目集2

    題目1 1、HarmonyOS的\\\"1+8N”戰(zhàn)略中的\\\"1\\\"指的是什么? A、智慧屏 B、平板電腦 C、手表 D、手機(jī) 解析:( D ) HarmonyOS是一款面向萬物互聯(lián)時(shí)代的、全新的分布式操作系統(tǒng),是一個(gè)全場景分布式智慧操作系統(tǒng),覆蓋了1+8+N全場景終端設(shè)備,其中手機(jī)是整個(gè)分布式能力的核心。 題目2

    2024年02月13日
    瀏覽(17)
  • HCIA-HarmonyOS Application Developer——題目集4

    HCIA-HarmonyOS Application Developer——題目集4

    題目1 1、(多選)對于HarmnyOS設(shè)備,傳統(tǒng)藍(lán)牙本機(jī)管理涉及下列哪些操作? A、掃描和取消掃描周邊藍(lán)牙設(shè)備 B、打開和關(guān)閉藍(lán)牙 C、向遠(yuǎn)端設(shè)備發(fā)起配對 D、設(shè)置和獲取本機(jī)藍(lán)牙名稱 解析:( ABD ) 傳統(tǒng)藍(lán)牙 指的是Bluetooth3.0以下的藍(lán)牙,而 低功耗藍(lán)牙 指的是Bluetooth4.0以上的藍(lán)

    2024年02月07日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包