梅科尔工作室-华为14天鸿蒙设备开发实战笔记五
目录
一.OpenHarmony驱动子系统开发——操作GPIO
1.GPIO API介绍
2.查看LED对应的GPIO引脚
3.操作GPIO点亮LED
二.OpenHarmony驱动子系统开发——GPIO中断
1.GPIO中断API介绍
2.查看按键对应的GPIO引脚
3.操作GPIO点亮LED
三.OpenHarmony驱动子系统开发——PWM输出
1.PWM API介绍
2.查看LED对应的GPIO引脚
3.输出PWM改变LED亮度
四.OpenHarmony驱动子系统开发——ADC采样
1.ADC API介绍
2.查看ADC对应的GPIO引脚
四.OpenHarmony驱动子系统开发——I2C总线
1.I2C API介绍
2.查看NFC的12C对应的GPIO引脚
3.I2C读写NFC芯片
五.OpenHarmony驱动子系统开发——UART读写
1.UART API介绍
2.查看UART1对应的GPIO引脚
3.UART读写数据
一.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灯。
3.操作GPIO点亮LED
打开"B1_basic_led_blink" 工程的led_example.c文件,可在代码中查看实现LED以1S的频率闪烁代码
二.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的电平信号来判断按键的状态。
3.操作GPIO点亮LED
打开“B2_basic_button"工程的button_example.c文件,可在代码中查看实现按键控制LED灯亮灭的代码
三.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灯。
3.输出PWM改变LED亮度
打开“B3_basic_pwm_led"工程的pwm_example.c文件,可在代码中查看实现输出不同占空比的PWM来改变LED的亮度代码
四.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的电压。
四.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芯片。
3.I2C读写NFC芯片
打开"B5_basic_i2c_nfc"工程的i2c_example.c文件,可在代码中查看实现NCF读写的代码
五.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数据的收发。
3.UART读写数据
打开"B6_basic_uart"工程的uart_example.c文件,可在代码中查看实现UART读写数据。