总目录:
文档链接: https://mubucm.com/doc/2sINVHMg9Pm
密码: mkxb

本文幕布:
文档链接: https://www.mubucm.com/doc/3bgH9y_8Rnm
密码: wu9i

课程链接:
https://www.bilibili.com/video/BV1tv411b7SA?spm_id_from=333.999.0.0

文章目录

  • HarmonyOS驱动子系统开发
    • 1. 操作GPIO
      • 1.1 GPIO API介绍
        • 1.1.1wifiiot_gpio.h接口简介:
          • 功能接口:
        • 1.1.2 wifiiot_gpio_ex.h接口简介:
          • 功能接口:
      • 1.2 查看LED对应的GPIO引脚
        • 1.2.1 LED灯原理图
        • 1.2.2 Hi3861原理图
      • 1.3 操作GPIO点亮LED
        • 1.3.1 文件位置:
        • 1.3.2 代码:
      • 1.4 GPIO扩展实验
        • 1.4.1 实验效果:
    • 2. GPIO中断
      • 2.1 GPIO中断API介绍
        • 2.1.1 wifiiot_gpio.h接口简介:
          • 2.1.1.1 功能接口:
      • 2.2 查看按键对应的GPIO引脚
      • 2.3 GPIO中断读取按键状态(操作GPIO点亮LED)
        • 2.3.1 代码位置:
        • 2.3.2 代码:
      • 2.4 GPIO中断扩展实验
        • 2.4.1 实验效果:
    • 3. PWM输出
      • 3.1 PWM API介绍
        • 3.1.1 wifiiot_pwm.h接口简介:
          • 3.1.1.1 功能接口:
      • 3.2 查看LED对应的GPIO引脚
      • 3.3 输出PWM改变LED亮度
        • 3.3.1 代码位置
        • 3.3.2 代码:
      • 3.4 PWM扩展实验
        • 3.4.1 实验代码:
    • 4. ADC采样
      • 4.1 ADC API介绍
        • 4.1.1 wifiiot_adc.h 接口简介:
          • 4.1.1.1 函数:
            • ① 功能接口:
            • ② 参数:
      • 4.2 查看ADC对应的GPIO引脚
      • 4.3 ADC读取GPIO的电压值
        • 4.3.1 文件位置:
        • 4.3.2 代码:
    • 5. I2C总线
      • 5.1 I2C API介绍
        • 5.1.1 wifiiot_i2c.h接口简介:
          • 5.1.1.1 功能接口:
        • 5.1.2 wifiiot_i2c_ex.h接口简介:
          • 5.1.2.1 功能接口:
      • 5.2 查看 NFC 的 I2C 对应的GPIO引脚
      • 5.3 I2C读写NFC芯片
        • 5.3.1 文件位置:
        • 5.3.2 代码:
    • 6. UART读写
      • 6.1 UART API介绍
        • 6.1.1 wifiiot_uart.h接口简介:
      • 6.2 查看UART1对应的GPIO引脚
      • 6.3 UART读写数据
        • 6.3.1 文件位置:
        • 6.3.2 代码:

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 函数:
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 代码:

OpenHarmony驱动子系统开发相关推荐

  1. 【鸿蒙OS开发入门】18 - HDF驱动子系统:加速度计传感器 Driver层驱动代码分析

    [鸿蒙OS开发入门]18 - HDF驱动子系统:加速度计传感器 Driver层代码分析 一.如何添加速度计传感器驱动代码(代码.编译.配置) 1.驱动代码实现 2.驱动编译配置 2.1 linux 编 ...

  2. HDC2021技术分论坛:OpenHarmony驱动框架解读和开发实践

    转自:OpenAtom OpenHarmony    作者:yuanbo,华为高级工程师 在IoT时代下,终端设备差异较大.形态各异.尺寸各异.交互方式各异,解决设备适配问题无疑是实现万物互联的一个关 ...

  3. OpenHarmony 3GPP协议开发深度剖析——一文读懂RIL

    (以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点) 本文转载自:https://harmonyos.51cto.com/posts/10608 夏德旺 软通动力信息技术( ...

  4. 鸿蒙社区 51cto,鸿蒙驱动子系统

    本文由左新戈整理自朱老师"鸿蒙HarmonyOS这事儿能成吗"课程第"鸿蒙驱动子系统"节,结合本人理解并丰富.希望观看视频版可以点击:https://edu.5 ...

  5. Linux MMC 驱动子系统详解

    Linxu MMC 驱动子系统 文章目录 Linxu MMC 驱动子系统 硬件关联 目录说明 mmc子系统的逻辑架构 设备-总线-驱动模型 一.MMC驱动抽象模型 二.SDIO驱动抽象模型 三.MMC ...

  6. linux中流设备_Linux USB的那些事之设备驱动子系统终极篇

    原标题:Linux USB的那些事之设备驱动子系统终极篇 USB博大精深不是一篇文章就能够解释清楚的.想要深入研究USB的话,USB协议(外加Host和OTG协议)是必要的知识,另外,国内有本< ...

  7. 测试驱动开发 测试前移_测试驱动的开发可能看起来是工作的两倍-但无论如何您都应该这样做...

    测试驱动开发 测试前移 by Navdeep Singh 通过Navdeep Singh 测试驱动的开发可能看起来是工作的两倍-但无论如何您都应该这样做 (Test-driven developmen ...

  8. Android项目驱动式开发教程 第2版,《Android项目驱动式开发教程》第一章开发入门.ppt...

    <Android项目驱动式开发教程>第一章开发入门 1.4 项目框架分析 4 android:versionName="1.0" > 5 8 第9行代码andro ...

  9. python可以开发驱动吗_Python机器学习实践:测试驱动的开发方法

    Python机器学习实践:测试驱动的开发方法 作者:(美)马修·柯克(Matthew Kirk) 著 出版日期:2017年10月 文件大小:30.91M 支持设备: ¥40.00在线试读 适用客户端: ...

最新文章

  1. 移动web开发常用JavaScript代码(转)
  2. CentOS下命令行和桌面模式的切换方法
  3. Google C++ Coding Style:右值引用(Rvalue Reference)
  4. postgres与osm初步使用
  5. java web 之 WebRoot和WebContent目录
  6. Catch That Cow抓住那只奶牛(BFS,广度优先搜索)
  7. warning: left shift count = width of type
  8. 免费下载qq音乐的音频资源的方法
  9. 台达变频器485通讯接线图_台达变频器怎么接线 台达变频器接线图详解
  10. jeesit 部署404
  11. python蒙特卡洛求定积分_蒙特卡洛定积分(一)
  12. 使用ffmpeg在视频中心添加透明水印
  13. 江苏计算机类事业单位真题解析,2012年江苏事业单位考试综合计算机类真题及解析(7)...
  14. 【DASH】MPD例子
  15. c++工作宝贵经验呀,我去。。。。
  16. 财政分权数据集:省级地级市财政分权度(1999-2021年)
  17. 上传大文件(10G)的解决方案
  18. double类型的输出方式
  19. 南科大于仕琪团队招聘研究助理教授,博士后
  20. bert 是单标签还是多标签 的分类_搞定NLP领域的“变形金刚”!手把手教你用BERT进行多标签文本分类...

热门文章

  1. Lunix文件重命名
  2. 负载均衡服务器性能数据,用缓存服务器负载均衡 提数据库查询效率
  3. 太高效了,全靠这款可视化报表工具,实用
  4. ui设计要素;ui设计要素有哪些
  5. 古龙冰洞超级计算机指令,龙族幻想古龙冰洞异闻攻略 古龙冰洞指令介绍
  6. 超详细“CIDR地址块及其子网划分”
  7. [Power Query] 汇总表
  8. kkFiewView代码分析(三)有关CAD文件的转换
  9. 【渝粤题库】陕西师范大学100111 计算机应用基础 作业 (高起专)
  10. 自定义Drawable实现灵动的红鲤鱼动画(上篇)