码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 梅科尔工作室-华为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读写数据。

  • 相关阅读:
    uniapp实现全局悬浮框
    SQL和Python,哪个更容易自学?哪个更适合数据工作的编程新手?
    软件工程 测试二
    http请求与响应,同步异步请求以及异步请求axios的配置
    【无标题】
    【Win】怎么下载m3u8视频\怎么通过F12开发人员工具获取视频地址\怎么下载完整的.ts格式视频
    使用Navicat将服务器的Oracle数据库备份到本地(Windows版本)
    数据库索引失效
    操作系统识别
    2004NOIP普及组真题 4. 火星人
  • 原文地址:https://blog.csdn.net/m0_64002592/article/details/125891417
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号