一.OpenHarmony驱动子系统开发——操作GPIO

1.GPIO API介绍

wifiiot_gpio.h接口简介:

这个.h中包含声明GPIO接口函数,这些功能用于初始化GPIO。

接口名

功能描述

GpioInit

初始化GPIO

GpioDeinit

取消初始化GPIO

GpioSetDir

设置GPIO引脚方向

GpioGetDir

获取GPIO引脚方向

GpioSetOutputVal

设置GPIO引脚输出电平值

GpioGetOutputVal

获取GPIO引脚输出电平值

wifiiot_gpio_ex.h接口简介:

这个.h中包含声明扩展的GPIO接口函数,这些功能用于设置GPIO拉力和驱动器强度。

接口名

功能描述

IoSetPull

设置GPIO引脚上拉

IoGetPull

获取GPIO引脚上拉

IoSetFunc

设置GPIO引脚功能

IoGetFunc

获取GPIO引脚功能

IOSetDriveStrength

设置GPIO驱动能力

IOGetDriveStrength

获取GPIO驱动能力

2.查看LED对应的GPIO引脚

LED对应的GPIO引脚是GPIO2通过控制GPIO2输出的的电平信号来实现LED灯的闪烁。

●高电平时点亮LED灯。

●低电平时熄灭LED灯。

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_初始化

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_引脚_02

3.操作GPIO点亮LED

打开"B1_basic_led_blink" 工程的led_example.c文件,可在代码中查看实现LED以1S的频率闪烁代码

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_ios_03

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_初始化_04

二.OpenHarmony驱动子系统开发——GPIO中断

1.GPIO中断API介绍

wifiiot_gpio.h接口简介:

wifiliot_gpio.h中包含声明GPIO中断相关函数。

接口名

功能描述

GpioRegisterIsrFunc

设置GPIO引脚中断功能

GpioUnregisterIsrFunc

取消GPIO引脚中断功能

GpioSetIsrMask

屏蔽GPIO引脚中断功能

GpioSetIsrMode

设置GPIO引脚中断触发模式

2.查看按键对应的GPIO引脚

F1和F2按键对应的GPIO引脚是分别是GPIO11和GPIO12,通过检测GPIO的电平信号来判断按键的状态。

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_引脚_05

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_初始化_06

3.操作GPIO点亮LED

打开“B2_basic_button"工程的button_example.c文件,可在代码中查看实现按键控制LED灯亮灭的代码

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_初始化_07

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_ios_08

三.OpenHarmony驱动子系统开发——PWM输出

1.PWM API介绍

wifiiot_pwm.h接口简介:

这个wifiiot_pwm.h中包含声明PWM接口函数。

接口名

功能描述

PwmInit

初始化PWM

PwmDeinit

取消初始化PWM

PwmStart

根据输入参数输出PWM

PwmStop

停止PWM输出

2.查看LED对应的GPIO引脚

LED对应的GPIO引脚是GPIO2通过控制GPIO2输出的的电平信号来实现LED灯的闪烁。

●高电平时点亮LED灯。

●.低电平时熄灭LED灯。

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_初始化_09

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_ios_10

3.输出PWM改变LED亮度

打开“B3_basic_pwm_led"工程的pwm_example.c文件,可在代码中查看实现输出不同占空比的PWM来改变LED的亮度代码

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_引脚_11

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_引脚_12

四.OpenHarmony驱动子系统开发——ADC采样

1.ADC API介绍

wifiiot_adc.h接口简介:

这个wifiiot_adc.h中包含声明ADC接口函数。

接口名

功能描述

AdcRead

根据输入参数从指定的ADC通道读取一段采样数据

参数

说明

channel

ADC通道

data

指示用于存放读取数据的地址的指针

equModel

表示平均算法的次数

curBais

表示模拟功率控制模式

rstCnt

指示从重置到转换开始的时间计数

2.查看ADC对应的GPIO引脚

本案例将使用板载用户按键F1来模拟GPIO口电压的变化。GPIO_11对应的是ADC Channel 5 ,所以需要

编写软件去读取ADC Channel 5的电压。

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_ios_13

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_初始化_14

四.OpenHarmony驱动子系统开发——I2C总线

1.I2C API介绍

wifiiot_i2c.h接口简介:

wifiiot_i2c.h中包含声明I2C接口函数。

接口名

功能描述

I2cInit

初始化I2C

I2cDeinit

取消I2C初始化

I2cWrite

将数据写入到I2C设备

I2cRead

从I2C设备读取数据

wifiot_i2c_ex.h接口简介:

wifiiot_i2c_ex.h中包含声明扩展|2C接口函数。

接口名

功能描述

I2cWriteread

向I2C设备发送数据并接受数据响应

I2cSetBaudrate

设置I2C频率

2.查看NFC的12C对应的GPIO引脚

NFC芯片的I2C对应的GPIO引脚是分别是GPIO0和GPIO1,所以需要编写软件使用GPIO_0和GPIO_1产

生I2C信号去控制NFC芯片。

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_ios_15

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_初始化_16

3.I2C读写NFC芯片

打开"B5_basic_i2c_nfc"工程的i2c_example.c文件,可在代码中查看实现NCF读写的代码

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_ios_17

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_初始化_18

五.OpenHarmony驱动子系统开发——UART读写

1.UART API介绍

wifiiot_uart.h接口简介:

wifiiot_uart.h中包含声明UART接口函数。

接口名

功能描述

UartInit

初始化UART

UartDeinit

取消UART初始化

UartRead

从UART读取数据

UartWrite

将数据写入UART

UartSetFlowCtrl

设置UART流控制

2.查看UART1对应的GPIO引脚

UART1对应的GPIO引脚是分别是GPIO5和GPIO6,将使用GPIO5和GPIO6进行UART数据的收发。

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_引脚_19

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_初始化_20

3.UART读写数据

打开"B6_basic_uart"工程的uart_example.c文件,可在代码中查看实现UART读写数据。

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_初始化_21

梅科尔工作室-华为14天鸿蒙设备开发实战笔记五_初始化_22