GPIO =========== 1. **简介** -------------- AIOT-3568A设有GPIO模块,可以设置GPIO的输入输出状态,也可以直接设置GPIO的电平高低。 下图介绍GPIO的用法以及图像介绍 + **GPIO的正面图如下:** |GPIO3| + **GPIO的背面图如下:** |GPIO4| + **GPIO用法连接如下:** 1、结合万能表测试电平。3.3V为高电平,0V为低电平,如图 |GPIO2| 2、电流方向测试方法,短接后通过API控制电流方向,如图 |GPIO1| 2. **HDC相关指令** -------------- 控制指定io口,iox中x代表第几个,0为低电平,1为高电平 .. code-block:: c++ echo 0 > sys/class/gpio_sw/io1/data 3. **标准API使用方法** -------------- .. note:: 本模块提供shimeta所有自研API的调用,该接口持续更新。 + **shimeta标准接口++** **@ohos.shimeta** + **API使用说明** 使用WIFI相关API开发时候,需要先了解熟悉第一个open Harmony工程的创建,相关文档 :doc:`Hello World应用以及部署<../../Quick-Start/OpenHarmony/04-应用以及部署>` 在使用一个API时,需要注意以下几点: + API权限说明 + API的参数与返回值 + API调用错误的时候,参考API错误码和通用错误码 + API示例的正确使用 GPIO相关API具体文档可跳转 :doc:`GPIO相关API<../../ShiMetaOs/OpenHarmony系统/API文档/02-ShiMetaAPI接口>` 4. **社区Demo** -------------- 社区示例加快正在制作中,敬请等待!将会呈现更优质的内容给各位小伙伴!! + **导入模块** 在使用GPIO API的时候,最重要的一步是导入shimeta的接口。通常模块导入是在文件头导入 导入模块如下: **import shimeta from '@ohos.shimeta'** + **shimeta.sys_setGpioDirection(设置 GPIO 输入输出状态)** + sys_setGpioDirection(id: number, direction: number, value: number): Promise; API使用示例: .. code-block:: TypeScript :linenos: import shimeta from '@ohos.shimeta' import { BusinessError } from '@ohos.base'; //设置IO口4 的方向为输出,状态为低电平 shimeta.sys_setGpioDirection(4,1,0).then((result: number) => { promptAction.showToast({ message: `sys_setGpioDirection result :${result}` }) }).catch((err: BusinessError) => { console.error("error message: " + err.message + ", error code: " + err.code); }); + **shimeta.sys_setGpioDirection(获取 GPIO 输入输出状态)** + sys_getGpioDirection(io:number): Promise; API使用示例: .. code-block:: TypeScript :linenos: import shimeta from '@ohos.shimeta' import { BusinessError } from '@ohos.base'; shimeta.sys_getGpioDirection(4).then((value: number) => { promptAction.showToast({ message: `sys_getGpioDirection result :${value}` }) }).catch((err: BusinessError) => { console.error("error message: " + err.message + ", error code: " + err.code); }); + **shimeta.sys_getGpioValue(获取 GPIO 的电平状态)** + sys_getGpioValue(io:number): Promise; API使用示例: .. code-block:: TypeScript :linenos: import shimeta from '@ohos.shimeta' import { BusinessError } from '@ohos.base'; shimeta.sys_getGpioValue(4).then((value: number) => { promptAction.showToast({ message: `sys_getGpioValue result :${value}` }) }).catch((err: BusinessError) => { console.error("error message: " + err.message + ", error code: " + err.code); }); 5. **代码编译** -------------- .. tip:: 代码编译详细流程可见,:doc:`Hello World应用以及部署<../../Quick-Start/OpenHarmony/04-应用以及部署>` 中的第二部分(构建第一个页面部分内容) 6. **代码运行效果** -------------- 社区示例加快正在制作中,敬请等待!将会呈现更优质的内容给各位小伙伴!! .. |GPIO1| image:: media1/GPIO1.png :width: 5.75in :height: 3.92708in .. |GPIO2| image:: media1/GPIO2.png :width: 5.75in :height: 3.92708in .. |GPIO3| image:: media1/GPIO3.png :width: 5.75in :height: 3.92708in .. |GPIO4| image:: media1/GPIO4.png :width: 5.75in :height: 3.92708in