前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenHarmony驱动子系统开发

OpenHarmony驱动子系统开发

作者头像
繁依Fanyi
发布2023-05-07 16:51:30
4280
发布2023-05-07 16:51:30
举报
文章被收录于专栏:繁依Fanyi 的专栏
在这里插入图片描述
在这里插入图片描述

HarmonyOS驱动子系统开发

1. 操作GPIO

1.1 GPIO API介绍

1.1.1wifiiot_gpio.h接口简介:

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

功能接口:
在这里插入图片描述
在这里插入图片描述
1.1.2 wifiiot_gpio_ex.h接口简介:

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

功能接口:
在这里插入图片描述
在这里插入图片描述

1.2 查看LED对应的GPIO引脚

1.2.1 LED灯原理图

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

在这里插入图片描述
在这里插入图片描述
  • 高电平时点亮LED灯。
  • 低电平时熄灭LED灯。
1.2.2 Hi3861原理图
在这里插入图片描述
在这里插入图片描述

1.3 操作GPIO点亮LED

1.3.1 文件位置:

"B1_basic_led_blink"工程 → “led_example.c”

  • LED以 1s 的频率闪烁
在这里插入图片描述
在这里插入图片描述
1.3.2 代码:
在这里插入图片描述
在这里插入图片描述

1.4 GPIO扩展实验

1.4.1 实验效果:

通过程序读取GPIO引脚方向、输出电平值等,并通过串口打印显示出来。

在这里插入图片描述
在这里插入图片描述

2. GPIO中断

宣告结束,告知开始。

2.1 GPIO中断API介绍

2.1.1 wifiiot_gpio.h接口简介:

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

2.1.1.1 功能接口:
在这里插入图片描述
在这里插入图片描述

2.2 查看按键对应的GPIO引脚

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

在这里插入图片描述
在这里插入图片描述

2.3 GPIO中断读取按键状态(操作GPIO点亮LED)

2.3.1 代码位置:

"B2_basic_button"工程 → “button_example.c”

  • 按键控制LED灯亮灭的代码
在这里插入图片描述
在这里插入图片描述
2.3.2 代码:
在这里插入图片描述
在这里插入图片描述

2.4 GPIO中断扩展实验

2.4.1 实验效果:

改变中断触发模式,观察现象。

在这里插入图片描述
在这里插入图片描述

3. PWM输出

3.1 PWM API介绍

3.1.1 wifiiot_pwm.h接口简介:

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

3.1.1.1 功能接口:
在这里插入图片描述
在这里插入图片描述

3.2 查看LED对应的GPIO引脚

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

在这里插入图片描述
在这里插入图片描述
  • 高电平时点亮LED灯。
  • 低电平时熄灭LED灯。

3.3 输出PWM改变LED亮度

3.3.1 代码位置

"B3_basic_pwm_led"工程 → “pwm_example.c”

  • 输入不同占空比的PWM来改变LED的亮度代码。
在这里插入图片描述
在这里插入图片描述
3.3.2 代码:
在这里插入图片描述
在这里插入图片描述

3.4 PWM扩展实验

3.4.1 实验代码:
在这里插入图片描述
在这里插入图片描述

4. ADC采样

4.1 ADC API介绍

4.1.1 wifiiot_adc.h 接口简介:

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

4.1.1.1 函数:
代码语言:javascript
复制
AdcRead (WifiIotAdcChannelIndex channel, unsigned short * data, WifiIotAdcEquModelSel equModel, WifiIotAdcCurBais curBais, unsigned short rstCnt )
① 功能接口:
在这里插入图片描述
在这里插入图片描述
② 参数:
在这里插入图片描述
在这里插入图片描述

4.2 查看ADC对应的GPIO引脚

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

在这里插入图片描述
在这里插入图片描述

4.3 ADC读取GPIO的电压值

4.3.1 文件位置:

"B4_basic_adc"工程 → “adc_example.c”

  • 读取ADC通道5的电压值的代码。
在这里插入图片描述
在这里插入图片描述
4.3.2 代码:
在这里插入图片描述
在这里插入图片描述

5. I2C总线

5.1 I2C API介绍

5.1.1 wifiiot_i2c.h接口简介:

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

5.1.1.1 功能接口:
在这里插入图片描述
在这里插入图片描述
5.1.2 wifiiot_i2c_ex.h接口简介:

"wifiiot_i2c_ex.h"中包含声明扩展I2C接口函数。

5.1.2.1 功能接口:
在这里插入图片描述
在这里插入图片描述

5.2 查看 NFC 的 I2C 对应的GPIO引脚

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

在这里插入图片描述
在这里插入图片描述

5.3 I2C读写NFC芯片

5.3.1 文件位置:

"B5_basic_i2c_nfc"工程 → “i2c_example.c”

  • 实现NFC读写
5.3.2 代码:
在这里插入图片描述
在这里插入图片描述

6. UART读写

6.1 UART API介绍

6.1.1 wifiiot_uart.h接口简介:

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

在这里插入图片描述
在这里插入图片描述

6.2 查看UART1对应的GPIO引脚

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

在这里插入图片描述
在这里插入图片描述

6.3 UART读写数据

6.3.1 文件位置:

"B6_basic_uart"工程 → “uart_example.c”

  • UART读写数据
在这里插入图片描述
在这里插入图片描述
6.3.2 代码:
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HarmonyOS驱动子系统开发
    • 1. 操作GPIO
      • 1.1 GPIO API介绍
      • 1.2 查看LED对应的GPIO引脚
      • 1.3 操作GPIO点亮LED
      • 1.4 GPIO扩展实验
    • 2. GPIO中断
      • 2.1 GPIO中断API介绍
      • 2.2 查看按键对应的GPIO引脚
      • 2.3 GPIO中断读取按键状态(操作GPIO点亮LED)
      • 2.4 GPIO中断扩展实验
    • 3. PWM输出
      • 3.1 PWM API介绍
      • 3.2 查看LED对应的GPIO引脚
      • 3.3 输出PWM改变LED亮度
      • 3.4 PWM扩展实验
    • 4. ADC采样
      • 4.1 ADC API介绍
      • 4.2 查看ADC对应的GPIO引脚
      • 4.3 ADC读取GPIO的电压值
    • 5. I2C总线
      • 5.1 I2C API介绍
      • 5.2 查看 NFC 的 I2C 对应的GPIO引脚
      • 5.3 I2C读写NFC芯片
    • 6. UART读写
      • 6.1 UART API介绍
      • 6.2 查看UART1对应的GPIO引脚
      • 6.3 UART读写数据
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档