HarmonyOS 驱动子系统开发
目录
1.OpenHarmony驱动子系统开发——操作GPIO
1.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驱动能力 |
1.2 查看LED对应的GPIO引脚
LED对应的GPIO引脚是GPIO2通过控制GPIO2输出的的电平信号来实现LED灯的闪烁。
-
高电平时点亮LED灯。
-
低电平时熄灭LED灯。
1.3 操作GPIO点亮LED
打开Visual Studio Code软件。点击文件,打开文件夹,点击映射文件—>home—>bearpi—>code—>打开,在“项目名\applications\BearPi\BearPi-HM_Nano\sample”文件下打开"B1_basic_led_blink" 工程的led_example.c文件,可在代码中查看实现LED以1S的频率闪烁代码
实操过程及扩展见:https://www.bilibili.com/video/BV1tv411b7SA?p=10&share_source=copy_web&vd_source=8f1cf1d7278a65d1271a6ccbd8891dc6 P17
2.OpenHarmony驱动子系统开发——GPIO中断
2.1 GPIO中断API介绍
wifiiot_gpio.h接口简介:
wifiliot_gpio.h中包含声明GPIO中断相关函数。
接口名 | 功能描述 |
---|---|
GpioRegisterIsrFunc | 设置GPIO引脚中断功能 |
GpioUnregisterIsrFunc | 取消GPIO引脚中断功能 |
GpioSetIsrMask | 屏蔽GPIO引脚中断功能 |
GpioSetIsrMode | 设置GPIO引脚中断触发模式 |
2.2 查看按键对应的GPIO引脚
F1和F2按键对应的GPIO引脚是分别是GPIO11和GPIO12,通过检测GPIO的电平信号来判断按键的状态。
2.3 操作GPIO点亮LED
打开Visual Studio Code软件。点击文件,打开文件夹,点击映射文件—>home—>bearpi—>code—>打开,在“项目名\applications\BearPi\BearPi-HM_Nano\sample”文件下打开“B2_basic_button"工程的button_example.c文件,可在代码中查看实现按键控制LED灯亮灭的代码
实操过程及扩展见:https://www.bilibili.com/video/BV1tv411b7SA?p=10&share_source=copy_web&vd_source=8f1cf1d7278a65d1271a6ccbd8891dc6 P18
3.OpenHarmony驱动子系统开发——PWM输出
3.1 PWM API介绍
wifiiot_pwm.h接口简介:
这个wifiiot_pwm.h中包含声明PWM接口函数。
接口名 | 功能描述 |
---|---|
PwmInit | 初始化PWM |
PwmDeinit | 取消初始化PWM |
PwmStart | |
根据输入参数输出PWM | |
PwmStop | 停止PWM输出 |
3.2 查看LED对应的GPIO引脚
LED对应的GPIO引脚是GPIO2通过控制GPIO2输出的的电平信号来实现LED灯的闪烁。
-
高电平时点亮LED灯。
-
低电平时熄灭LED灯。
3.3 输出PWM改变LED亮度
打开Visual Studio Code软件。点击文件,打开文件夹,点击映射文件—>home—>bearpi—>code—>打开,在“项目名\applications\BearPi\BearPi-HM_Nano\sample”文件下打开“B3_basic_pwm_led"工程的pwm_example.c文件,可在代码中查看实现输出不同占空比的PWM来改变LED的亮度代码
实操过程及扩展见:https://www.bilibili.com/video/BV1tv411b7SA?p=10&share_source=copy_web&vd_source=8f1cf1d7278a65d1271a6ccbd8891dc6 P19
4.OpenHarmony驱动子系统开发——ADC采样
4.1 ADC API介绍
wifiiot_adc.h接口简介:
这个wifiiot_adc.h中包含声明ADC接口函数。
接口名 | 功能描述 |
---|---|
AdcRead | 根据输入参数从指定的ADC通道读取一段采样数据 |
AdcRead (WiflotAdcChanelndex channel, unsigned short * data, WifilotAdcEquModelSel equModel WifiotAdcCurBais curBais unsigned short rstCnt )
接口名 | 功能描述 |
---|---|
channel | ADC通道 |
data | 指示用于存放读取数据的地址的指针 |
equModel | 表示平均算法的次数 |
curBais | 表示模拟功率控制模式 |
rstCnt | 指示从重置到转换开始的时间计数 |
4.2 查看ADC对应的GPIO引脚
本案例将使用板载用户按键F1来模拟GPIO口电压的变化。GPIO_11对应的是ADC Channel 5 ,所以需要编写软件去读取ADC Channel 5的电压。
4.3 ADC读取GPIO电压值
打开Visual Studio Code软件。点击文件,打开文件夹,点击映射文件—>home—>bearpi—>code—>打开,在“项目名\applications\BearPi\BearPi-HM_Nano\sample”文件下打开“B4_basic_adc”工程的adc_example.c文件,可在代码中查看实现读取ADC通道5的电压值的代码
实操过程及扩展见:https://www.bilibili.com/video/BV1tv411b7SA?p=10&share_source=copy_web&vd_source=8f1cf1d7278a65d1271a6ccbd8891dc6 P20
5.OpenHarmony驱动子系统开发——I2C总线
5.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频率 |
5.2 查看NFC的12C对应的GPIO引脚
NFC芯片的I2C对应的GPIO引脚是分别是GPIO0和GPIO1,所以需要编写软件使用GPIO_0和GPIO_1产生I2C信号去控制NFC芯片。
5.3 I2C读写NFC芯片
打开Visual Studio Code软件。点击文件,打开文件夹,点击映射文件—>home—>bearpi—>code—>打开,在“项目名\applications\BearPi\BearPi-HM_Nano\sample”文件下打开"B5_basic_i2c_nfc"工程的i2c_example.c文件,可在代码中查看实现NCF读写的代码
实操过程及扩展见:https://www.bilibili.com/video/BV1tv411b7SA?p=10&share_source=copy_web&vd_source=8f1cf1d7278a65d1271a6ccbd8891dc6 P21
6.OpenHarmony驱动子系统开发——UART读写
6.1 UART API介绍
wifiiot_uart.h接口简介:
wifiiot_uart.h中包含声明UART接口函数。
接口名 | 功能描述 |
---|---|
UartInit | 初始化UART |
UartDeinit | 取消UART初始化 |
UartRead | 从UART读取数据 |
UartWrite | 将数据写入UART |
UartSetFlowCtrl | 设置UART流控制 |
6.2 查看UART1对应的GPIO引脚
UART1对应的GPIO引脚是分别是GPIO5和GPIO6,将使用GPIO5和GPIO6进行UART数据的收发。
6.3 UART读写数据
打开Visual Studio Code软件。点击文件,打开文件夹,点击映射文件—>home—>bearpi—>code—>打开,在“项目名\applications\BearPi\BearPi-HM_Nano\sample”文件下打开"B6_basic_uart"工程的uart_example.c文件,可在代码中查看实现UART读写数据。
实操过程及扩展见:https://www.bilibili.com/video/BV1tv411b7SA?p=10&share_source=copy_web&vd_source=8f1cf1d7278a65d1271a6ccbd8891dc6 P22
楼主总结的这么全不考虑加个原创吗