如何使用Harmony OS控制外设——输入输出?
相关知识点
-
Hi3861开发板第一个示例程序演示
-
熟悉使用DevEco Device Tool插件进行程序烧录
-
熟悉串口调试工具sscom的使用
-
官方文档中控制核心板上LED的
led_example.c讲解及演示- 源码路径:
applications/sample/wifi-iot/app/iothardware/led_example.c - Harmony OS IoT内核(liteos-m)接口——CMSIS-RTOS API v2
- 线程创建
osThreadNew
- 线程创建
- 鸿蒙系统启动注册接口——
ohos_init.hSYS_RUN注册启动阶段自动运行的函数- 不同宏对应不同阶段,应用代码推荐使用:
APP_FEATURE_INIT注册宏
- 使用GPIO接口输出高低电平,实现控制LED灯亮灭
- 设置管脚功能
IoSetFunc - 设置GPIO引脚方向
GpioSetDir
- 设置管脚功能
- 使用GPIO接口注册中断处理函数,实现USER按键响应(输入)
- 设置内部上拉下拉状态
IoSetPull(没有外部上拉电阻时需要设置上拉,才能保证能够检测到下降沿) - 注册中断处理函数
GpioRegisterIsrFunc,具体参数使用参考头文件说明
- 设置内部上拉下拉状态
- 具体使用参考
wifiiot_gpio.h和wifiiot_gpio_ex.h文件里的注释
- 源码路径:
-
HiSpark Wi-Fi IoT 开发套件 交通灯板 控制
- 使用PWM接口输出PWM方波,实现蜂鸣器控制
- 使用GPIO接口的部分和上一个示例类似
- 具体使用参考
wifiiot_pwm.h文件里的注释
核心板和交通灯板上外设与主控芯片(Hi3861)引脚的对应关系
- 核心板
- GPIO_9 连接LED灯,输出低电平点亮LED灯
- GPIO_5 连接按键,按键中断控制LED灯状态反转
- 交通灯板
- GPIO_8 连接蜂鸣器,输出PWM波控制蜂鸣器发出声音
- GPIO_9 连接按键,按键中断切换亮的LED灯,同时切换蜂鸣器响或者不响
- GPIO_10 连接红色LED,输出高电平点亮红色LED灯
- GPIO_11 连接绿色LED,输出高电平点亮绿色LED灯
- GPIO_12 连接黄色LED,输出高电平点亮黄色LED灯
如何编译
- 将此目录下的
traffic_light_demo.c和BUILD.gn复制到openharmony源码的applications\sample\wifi-iot\app\iothardware目录下, - 修改openharmony源码的
applications\sample\wifi-iot\app\BUILD.gn文件,将其中的features改为:
features = ["iothardware:traffic_light_demo",]
- 在openharmony源码顶层目录执行:
python build.py wifiiot
报错解决
- 编译过程中报错:undefined reference to
hi_pwm_init等几个hi_pwm_开头的函数,- 原因: 因为默认情况下,hi3861_sdk中,PWM的CONFIG选项没有打开
- 解决: 修改
vendor\hisi\hi3861\hi3861\build\config\usr_config.mk文件中的CONFIG_PWM_SUPPORT行:# CONFIG_PWM_SUPPORT is not set修改为CONFIG_PWM_SUPPORT=y
为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05
《鸿蒙开发学习手册》:
如何快速入门:https://qr21.cn/FV7h05
- 基本概念
- 构建第一个ArkTS应用
- ……

开发基础知识:https://qr21.cn/FV7h05
- 应用基础知识
- 配置文件
- 应用数据管理
- 应用安全管理
- 应用隐私保护
- 三方应用调用管控机制
- 资源分类与访问
- 学习ArkTS语言
- ……

基于ArkTS 开发:https://qr21.cn/FV7h05
- Ability开发
- UI开发
- 公共事件与通知
- 窗口管理
- 媒体
- 安全
- 网络与链接
- 电话服务
- 数据管理
- 后台任务(Background Task)管理
- 设备管理
- 设备使用信息统计
- DFX
- 国际化开发
- 折叠屏系列
- ……

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH
1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向

相关文章:
如何使用Harmony OS控制外设——输入输出?
相关知识点 Hi3861开发板第一个示例程序演示 熟悉使用DevEco Device Tool插件进行程序烧录 熟悉串口调试工具sscom的使用 官方文档中控制核心板上LED的led_example.c讲解及演示 源码路径:applications/sample/wifi-iot/app/iothardware/led_example.cHarmony OS …...
1.1-数组-704. 二分查找★
704. 二分查找 ★ 力扣题目链接,给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,搜索 nums 中的 target,如果存在返回下标,否则返回 -1。n 将在 [1, 10000]之间。 可以假设 nums 中的所…...
人物百度百科怎么做?需要什么资料?
在互联网时代,百度百科作为国内最具权威性的知识分享平台,吸引了大量用户关注和参与。究竟哪些人适合创建和编辑人物百度百科呢?本文伯乐网络传媒将为您揭秘人物百度百科的适用人群,并详细介绍如何注册、登录、创建及维护人物百度…...
在基于Android相机预览的CV应用程序中使用 OpenCL
查看:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV4.9.0在Android 开发简介 下一篇:在 MacOS 中安装 本指南旨在帮助您在基于 Android 相机预览的 CV 应用程序中使用 OpenCL ™。教程是为 Android Studio 20…...
网络分类简述与数据链路层协议(PPP)
实验拓扑 实验要求 1、R1和R2使用PPP链路直连,R2和R3把2条PPP链路捆绑为PPP MP直连按照图示配置IP地址 2、R2对R1的PPP进行单向chap验证 3、R2和R3的PPP进行双向chap验证 实验思路 给R1、R2的S3/0/0接口配置IP地址,已给出网段192.168.1.0/24R2作为主…...
Linux文件系列:磁盘,文件系统,软硬链接
Linux文件系列:磁盘,文件系统,软硬链接 一.磁盘相关知识1.磁盘机械构成2.磁盘物理存储3.磁盘逻辑存储1.LBA地址2.磁盘的分区和分组 二.文件系统和inode1.inode结构体2.文件系统1.Super Block(超级块)2.Group Descriptor Table(块组描述表GDT)3.inode Table4.Data Blocks5.Block…...
GPT4.0
GPT4.0 支持官网所有功能以及所有第三方GPTS,完全同步官网。无需魔法,填写授权码直达官网。全天超18小时维护,无需担心不稳定。没有永久卡,3.5免费提供,4.0可以按需下单即可,不存在跑路。 需要的联系...
软件工程(双语)
教材《软件工程 实践者的研究方法》 双语教学,但目前感觉都是在讲没用的 ”过程决定质量,复用决定效率” 介绍 软工的本质 程序数据结构算法 软件程序文档(需求、模型、说明书) 软件应用: 系统软件 应用 工程/科学…...
网络——套接字编程UDP
目录 端口号 源端口号和目的端口号 认识TCP协议和UDP协议 网络字节序 socket编程接口 socket常见接口 sockaddr结构 UDP socket bind recvfrom sendto 编写客户端 绑定INADDR_ANY 实现聊天功能 端口号 在这之前我们已经说过源IP地址和目的IP地址,还有…...
FPGA_AD9361
1.集成12位DAC和ADC的一款器件,2个输入模拟通道和2个输出模拟通道 2.• TX频段:47 MHz至6.0 GHz • RX频段:70 MHz至6.0 GHz 3.SPI配置成LVDS或CMOS接口,也可以还可以选择FDD(频分双工——全双工,操作时需…...
探讨Java代码混淆加固工具
摘要 本篇博客将介绍几种常用的Java代码混淆工具,如ProGuard、Allatori Java Obfuscator、VirboxProtector、ipaguard和DashO。我们将深入探讨它们的特点、功能以及在保护Java应用程序安全方面的作用。此外,还将强调在使用Java代码混淆工具时需要注意的安…...
Linux——du, df命令查看磁盘空间使用情况
一、实现原理: df 命令的全称是Disk Free ,显而易见它是统计磁盘中空闲的空间,也即空闲的磁盘块数。它是通过文件系统磁盘块分配图进行计算出的。 du 命令的全称是 Disk Used ,统计磁盘有已经使用的空间。它是直接统计各文件各目…...
数据库实验(一)SQL Server触发器
目录 触发器的定义 触发器和存储过程的区别 触发器的优点 触发器的作用 触发器的分类 DML触发器 DDL触发器 登录触发器 触发器的工作原理 inserted表 deleted表 创建触发器 编程要求 测试要求: 实验代码: 触发器的定义 触发器是建立在触…...
添加网址到主页
基于localStorage的网址收藏夹-CSDN博客 为了通过安卓菜单添加网址到主页中,调试了几个小时,主要踩了几个坑。 1.localStorage 通过域名隔离,需要加载主页才能读写。 2.WebView 可以不显示,但是 JS 代码要放在 window.onload 中…...
消息中间件如何实现高可用
消息中间件实现高可用的方式有很多种,常见的方法包括: 集群部署:通过在多台服务器上部署消息中间件实例,构成一个集群,提高整体系统的可用性。当一台机器出现故障时,其他机器可以继续提供服务。主从复制&a…...
Hbase 王者荣耀数据表 HBase常用Shell命令
大数据课本: HBase常用Shell命令 在使用具体的Shell命令操作HBase数据之前,需要首先启动Hadoop,然后再启动HBase,并且启动HBase Shell,进入Shell命令提示符状态,具体命令如下: $ cd /usr/local…...
家用智能洗地机哪个牌子好?4款型号让你解锁高效省力生活体验
在今天的社会中,随着生活节奏的加快,人们对于家庭清洁的需求不断增加。传统的清洁方法已经无法满足现代家庭的需求。因此,洗地机作为一种高效、方便的清洁工具,已经成为了许多家庭首选的清洁设备。然而,在市场上&#…...
Linux--进程(1)
目录 前言 1.冯诺依曼体系结构 2. 操作系统(Operator System)--第一个被加载的软件 3.进程 3.1基本概念 3.2Linux中的PCB 3.3通过系统调用创建子进程-fork初识 fork:创建一个子进程 为什么要创建子进程? fork的原理: 进一步了解fo…...
Qt登录页面
#include "mywidget.h" #include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent), ui(new Ui::MyWidget) {ui->setupUi(this);//接收动图QMovie *mv new QMovie(":/pictrue/luori.gif");ui->loglab->setMovie(…...
软件工程-第8章 软件测试
8.1 软件测试目标域软件测试过程模型 8.2 软件测试技术 8.3 静态分析技术-程序正确性证明 8.4 软件测试步骤 8.5 本章小结...
使用PHP Imagick扩展将PDF转换为图片功能的完整方案
引言在开发中,经常需要将 PDF 文档转换为图片格式,以便于在线预览、生成缩略图或进行其他图像处理操作。PHP 的 Imagick 扩展提供了强大的图像处理能力,可以轻松实现这一需求。本文将介绍如何使用 Imagick 扩展创建一个高效的 PDF 转图片工具…...
【好靶场】听话,咱们只修改自己的密码
直接根据提示登录,可以修改密码,想修改用户名但是前端不能修改直接抓包修改admin的密码然后用新的密码登录得到flag...
Cursor根本无法调试C++
你知道吗?你的Cursor可能正在"假装"是VS Code,但它根本无法像VS Code一样正常调试C。项目里按下F5,弹出提示:“Windows C Debugging is supported only in Microsoft versions of VS Code。” 检查配置无误,…...
Makefile核心概念与高效构建实践指南
1. Makefile基础概念与核心结构Makefile本质上是一种声明式构建脚本,它通过定义目标、依赖和命令三者之间的关系,让构建工具(make)能够智能地决定哪些文件需要重新编译。这种机制在C/C项目中尤为重要,因为源文件之间的…...
中航迈特光束整形金属3D打印技术取得重要进展,多种材料已成功验证
中航迈特在金属3D打印装备研发方面持续发力,尤其是光束整形技术近期取得重要进展。在本届TCT亚洲展,它推出的MT280搭载了无级点环光斑能量智调系统,是光束整形金属3D打印当前较新的看点。据3D打印技术参考了解,无级点环光斑能量智…...
无缝跨平台体验:APK-Installer让Windows运行Android应用的革命性工具
无缝跨平台体验:APK-Installer让Windows运行Android应用的革命性工具 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在数字化时代,用户常常面临…...
破解厂区防控难题:远程控制联网报警器的技术优势与应用实践
一、厂区安全防控的时代挑战与技术革新在工业生产规模化、厂区安全管理标准化的发展趋势下,厂区安全防控已成为企业生产运营的核心工作。我国正处于厂区安防从 "人工巡检为主" 向 "技防联动" 转型的关键阶段,据行业数据显示…...
新手入门指南:在快马平台上通过openclaw切换模型理解ai编程差异
作为一个刚开始接触AI编程的新手,我最近在InsCode(快马)平台上尝试了openclaw切换模型的功能,发现这个功能特别适合用来理解不同AI模型的代码生成特点。整个过程就像有个耐心的老师在旁边手把手教学,完全不需要任何编程基础就能上手。下面我就…...
UE5 C++ 新手避坑指南:从零搭建汽车交互项目(含PhysXVehicles模块配置)
UE5 C 汽车交互开发实战:从模块配置到物理驾驶系统 第一次打开UE5的C项目时,那种既兴奋又忐忑的心情至今记忆犹新。作为一个从蓝图转向C开发的"半路出家"程序员,我清楚地记得在配置PhysXVehicles模块时踩过的那些坑——莫名其妙的编…...
实测Qwen-Image-Edit-2511:输入一张图,输出360°环绕视角,效果太强了
实测Qwen-Image-Edit-2511:输入一张图,输出360环绕视角,效果太强了 1. 引言:单图变多视角的技术突破 想象一下,你只需要一张普通的商品照片,就能自动生成360度全方位的展示效果。这不是科幻电影里的场景&…...
