当前位置: 首页 > news >正文

OpenHarmony轻量级驱动开发

OpenHarmony轻量级驱动开发

思维导图: https://download.csdn.net/download/lanlingxueyu/88817155

GPlO(General-purpose input/output)即通用型输入输出

描述

GPlO(General-purpose input/output)即通用型输入输出。通俗地说,GPlO口就是一些引脚可以通过它们输出高低电平或者读入引脚的高低电平状态。GPIO控制器通过分组的方式管理所有GPIO管脚,每组GPIO有一个或多个寄存器与之关联,通过读写寄存器完成对GPIO管脚的操作

GPIO接说明

·GPIO是芯片上一根能完成多种功能的管脚,用户可以通过GPIO口和硬件进行数据交互(如UART),控制硬件工作(如LED,蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。
头文件路径:base/iot_hardware/peripheral/interfaces/kits/iot_gpio.h

GPIO接口调用

####include"iot_gpio.h
loTGpiolnit(GPlO_oo)
loTGpioSetDir(GPIO_OO,IOT_GPIO DIR _OUT)
loTGpioSetOutputVal(GPIO_OO,IOT_GPIO_EDGE_RISE_LEVEL_HIGH);

预编译头文件“iot_gpio.h”
代码功能:定义了GPIO00号口为输出模式且输出高电平

PWM(Pulse Width Modulation)又叫脉冲宽度调制

描述

PWM(Pulse Width Modulation)又叫脉冲宽度调制,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化。占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%
占空比 = 高电平时间 / 周期时间 * 100%
占空比通俗来说就是一段周期时间内高电平所占的时间

PWM接口说明

PWM接口定义了完成PWM传输的通用方法集合
头文件路径:base/iot_hardware/peripheral/interfaces/kits/iot_pwm.h
初始化PWM -> 设置分频率 -> 设置占空比 -> 使能PWM -> 停止PWM

PWM接口调用

####include "iot pwm.h’
IoTPwmlnit(PWM3 OUT)
loTPwmStart(PwM3_oUT,50,10o);
IoTPwmStop(PWM3_OUT);

预编译头文件“iot_pwm.h”
代码功能:定义了GPIO00号口为PWM3OUT模式且输出数值为50%的占空比,最后停止
GPIO_00号口对应Hi3861芯片的PWM3

UART (UniversalAsynchronous Receiver/Transmitter) 通用异步收发传输器

描述

UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter 的缩写,是通用串行数据总线,用于异步通信。该总线双向
http://www.lryc.cn/news/298674.html

相关文章:

  • C语言如何输⼊字符数组?
  • 人脸追踪案例及机器学习认识
  • 鸿蒙开发理论之页面和自定义组件生命周期
  • docker-compose部署gitlab和jenkins
  • Pytorch 复习总结 1
  • 谷歌免费开放模糊测试框架OSS-Fuzz(物联网、车联网、供应链安全、C/C++)
  • 华为配置内部人员接入WLAN网络示例(802.1X认证)
  • EXCEL中如何调出“数据分析”的菜单
  • 基于Qt的人脸识别项目(功能:颜值检测,口罩检测,表情检测,性别检测,年龄预测等)
  • 书生谱语-大语言模型测试demo
  • 2024-02-12 Unity 编辑器开发之编辑器拓展3 —— EditorGUI
  • shell脚本编译与解析
  • 第64讲个人中心用户操作菜单实现
  • 线性代数的本质——1 向量
  • 工业以太网交换机引领现代工厂自动化新潮流
  • Linux第46步_通过“添加自定义菜单”来学习menuconfig图形化配置原理
  • 推荐高端资源素材图库下载平台整站源码
  • Redis实现:每个进程每30秒执行一次任务
  • 【AI之路】使用RWKV-Runner启动大模型,彻底实现大模型自由
  • Dockerfile和.gitlab-ci.yml文件模板
  • Linux--基础开发工具篇(2)(vim)(配置白名单sudo)
  • Learn LaTeX 017 - LaTex Multicolumn 分栏
  • Android 9.0 禁用adb install 安装app功能
  • 华为第二批难题五:AI技术提升六面体网格生成自动化问题
  • 【FFmpeg】ffplay 命令行参数 ⑤ ( 设置音频滤镜 -af 参数 | 设置统计信息 -stats 参数 | 设置同步时钟类型 -sync 参数 )
  • vscode开发FPGA(0)--windows平台搭建
  • Java String源码剖析+面试题整理
  • 探索未来:集成存储器计算(IMC)与深度神经网络(DNN)的机遇与挑战
  • [C/C++] -- CMake使用
  • 笔记本选购配置参数详解