Pegasus智能家居套件样例开发--软定时器

样例简介

此样例将演示如何在Pegasus Wi-Fi IoT智能家居套件上使用cmsis 2.0 接口进行定时器开发。

工程版本
  • 系统版本/API版本:OpenHarmony 3.0 release
  • IDE版本:DevEco Device Tool Release 3.0.0.401

快速上手

准备硬件环境
  • 预装windows系统的PC机
  • Hi3861V100开发板套件
准备开发环境

开发环境安装配置参照文档:DevEco Device Tool 环境搭建

准备工程

本用例采DevEco Device Tool工具进行开发,当配置完开发环境后,我们可以在IDE上进行工程的配置下载。

  • 打开DevEco Device Tool,连接远程linux服务器:DevEco Device Tool 环境搭建

  • 点击左下角DevEco插件图标,然后点击左边框出现的主页,弹出主页界面,主页中选择新建项目,如下图:

  • 配置下载工程

如上图所示,填写对应样例工程的名称,选择对应的样例组件和样例工程存放路径后,点击创建即可进行样例工程的下载。下载界面如下:

当左下角显示正在下载OpenHarmony镜像时,耐心等待下载完成即可。

准备工具链
  • 在Projects中,点击Settings按钮,进入配置工程界面。

  • 在toolchain页签中,DevEco Device Tool会自动检测依赖的编译工具链是否完备,如果提示部分工具缺失,可点击SetUp按钮,自动安装所需工具链。

  • 如果出现安装pip组件失败,可参考修改Python源的方法进行修改,完成尝试重新安装。

工具链自动安装完成后如下图所示。

样例代码下载完成后,DevEco Device Tool会重新要求连接远程服务器,输入密码连接后会进入对应的代码编辑界面,此时点击左下角DevEco插件图标,选择PROJECT TASKS可以查看到对应的样例工程,点击build选项进行编译,并可在终端查看对应的编译结果。

固件生成在对应工程目录的out/hispark_pegasus/wifiiot_hispark_pegasus/目录下。

烧录/安装

编译完成后可以通过DevEco Device Tool进行烧录,在烧录前需要做一些烧录的配置:

配置准备

在配置烧录前需要先查看DevEco Device Tool是否可以正常识别串口。

  • 点击主页,在主页选择对应工程,点击配置工程进入到配置页面。
查询串口

在DevEco Device Tool中,点击QUICK ACCESS > DevEco Home > Device,查看并记录对应的串口号。

如果对应的串口异常,请根据 Hi3861V100开发板串口驱动安装 安装USB转串口的驱动程序。

配置串口

在QUICK ACCESS > DevEco Home > Projects中,点击Settings打开工程配置界面。

在“hi3861”页签,设置烧录选项,包括upload_port、upload_protocol和upload_partitions。

  • upload_port:选择已查询的串口号。
  • upload_protocol:选择烧录协议,选择“hiburn-serial”。
  • upload_partitions:选择待烧录的文件,默认选择hi3861_app。

烧录
  • 所有的配置都修改完成后,在工程配置页签的顶部,点击Save进行保存。点击Open打开工程文件,然后在“PROJECT TASKS”中,点击hi3861下的Upload按钮,启动烧录。

  • 启动烧录后,显示如下提示信息时,请在15秒内,按下开发板上的RST按钮重启开发板。

  • 重新上电后,界面提示如下信息时,表示烧录成功。

更多烧录细节可以参考Hi3861V100开发板烧录。

  • 运行结果

Timer API

API名称说明
osTimerNew创建和初始化定时器
osTimerGetName获取指定的定时器名字
osTimerStart启动或者重启指定的定时器
osTimerStop停止指定的定时器
osTimerIsRunning检查一个定时器是否在运行
osTimerDelete删除定时器

osTimerNew()

osTimerId_t osTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr)

参数:

名字描述
func定时器回调函数.
type定时器类型,osTimerOnce表示单次定时器,ostimer周期表示周期性定时器.
argument定时器回调函数的参数
attr定时器属性

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:https://qr21.cn/FV7h05

入门必看:https://qr21.cn/FV7h05
1.  应用开发导读(ArkTS)
2.  ……

HarmonyOS 概念:https://qr21.cn/FV7h05

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全

如何快速入门:https://qr21.cn/FV7h05
1.  基本概念
2.  构建第一个ArkTS应用
3.  ……

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

基于ArkTS 开发:https://qr21.cn/FV7h05
1.  Ability开发
2.  UI开发
3.  公共事件与通知
4.  窗口管理
5.  媒体
6.  安全
7.  网络与链接
8.  电话服务
9.  数据管理
10.  后台任务(Background Task)管理
11.  设备管理
12.  设备使用信息统计
13.  DFX
14.  国际化开发
15.  折叠屏系列
16.  ……

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/712368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

『大模型笔记』RAG应用的12种调优策略指南

RAG应用的12种调优策略指南 文章目录 一. 概要二. 数据索引2.1. 数据清洗2.2. 分块2.3. 嵌入模型2.4. 元数据(或未向量化的数据)2.5. 多索引2.6. 索引算法三. 推理阶段(检索和生成)3.1. 检索参数3.2. 高级检索策略3.3. 重新排序模型3.5. 大语言模型(LLM)

26、Qt调用.py文件中的函数

一、开发环境 Qt5.12.0 Python3.7.8 64bit 二、使用 新建一个Qt项目,右击项目名称,选择“添加库” 选择“外部库”,点击“下一步” 点击“浏览”,选择Python安装目录下的libs文件夹中的“python37.lib”文件,点击“下…

退休开便利店真的靠谱吗?2024比较赚钱的创业项目排行

近日多个退休后开便利店赚钱的新闻登上热搜,但是,小编对此有疑问,退休的老年人开便利店真的是一个好选择吗? 第一、便利店最基本的转让费,装修费,进货等等,这笔开支非常大,足以掏空老…

H5下拉刷新分页

对于分页需求,分页数据的请求触发十分重要,监听滑动到底的触发也有很多种。 1.IntersectionObserver监听 IntersectionObserver 接口(从属于 Intersection Observer API)提供了一种异步观察目标元素与其祖先元素或顶级文档视口&a…

终结数据混乱!开发者必学的GraphQL秘籍,高效API只需一步

在数字世界中,API就如同城市中的道路,连接着各种服务和数据。然而,传统的API(如RESTful)虽然功不可没,但随着技术复杂性和需求多样性不断攀升,它们显露出的局限性也呼唤着新的可能出现。此时&am…

Unity中,activeInHierarchy 和 activeSelf

activeInHierarchy: activeInHierarchy 属性表示游戏对象是否在场景中处于激活状态,并且是否在层次结构中的激活状态。它考虑了游戏对象以及其所有父对象的激活状态。如果 activeInHierarchy 为 true,表示该对象在场景中处于激活状态且其所有…

LaMa Image Inpainting 图像修复 Onnx Demo

目录 介绍 效果 模型信息 项目 代码 下载 LaMa Image Inpainting 图像修复 Onnx Demo 介绍 gihub地址:https://github.com/advimman/lama 🦙 LaMa Image Inpainting, Resolution-robust Large Mask Inpainting with Fourier Convolutions, WAC…

《PyTorch深度学习实践》第十三讲RNN进阶

一、 双向循环神经网络(Bidirectional Recurrent Neural Network,BiRNN)是一种常见的循环神经网络结构。与传统的循环神经网络只考虑历史时刻的信息不同,双向循环神经网络不仅考虑历史时刻的信息,还考虑未来时刻的信息…

wireshark过滤和tcpdump抓包指令

Wireshark 过滤器的表达式,用于过滤源 IP 地址为 10.184.148.247 并且目标 TCP 端口为 1883 的数据包。启用抓包后过滤 ip.addr 10.184.148.247 && tcp.port 1883 主机位10.184.148.19和目标端口为 8080 的操作目标 抓包前过滤 host 10.184.148.19 &…

软件说明书怎么写?终于有人一次性说清楚了!

每次写软件说明书,你是不是总是毫无头绪,不知道从何下手?到各网站找资料,不仅格式不规范,甚至可能遗漏关键内容!挨一顿批不说,还浪费大把时间。别着急,编写软件说明书,关…

PostgreSQL开发与实战(2)常用命令

作者&#xff1a;太阳 1、连库相关 #连库 $ psql -h <hostname or ip> -p <端口> [数据库名称] [用户名称] #连库并执行命令 $ psql -h <hostname or ip> -p <端口> -d [数据库名称] -U <用户名> -c "运行一个命令;"备注&#xff1…

从理论到落地,大模型评测体系综合指南

1956年夏&#xff0c;“人工智能” 这一概念被提出。距今已有近70年的发展历史。中国科学院将其划分为六个阶段&#xff1a;起步发展期&#xff08;1956年—1960s&#xff09;&#xff0c;反思发展期&#xff08;1960s-1970s&#xff09;,应用发展期&#xff08;1970s-1980s),低…

SpringBoot集成Activiti案例

前言 Activiti项目是一项新的基于Apache许可的开源BPM平台&#xff0c;从基础开始构建&#xff0c;旨在提供支持新的BPMN 2.0标准&#xff0c;包括支持对象管理组&#xff08;OMG&#xff09;&#xff0c;面对新技术的机遇&#xff0c;诸如互操作性和云架构&#xff0c;提供技…

3.1log | 62.不同路径,63. 不同路径 II,343. 整数拆分,96.不同的二叉搜索树

62.不同路径 class Solution { public:int uniquePaths(int m, int n) {vector<vector<int>> dp(m,vector<int>(n,0));for(int i0;i<n;i) dp[0][i]1;for(int i0;i<m;i) dp[i][0]1;for(int i1;i<m;i){for(int j1;j<n;j){dp[i][j]dp[i][j-1]dp[i-…

c++八股文:c++编译与内存管理

文章目录 1. c内存管理2. 堆与栈3.变量定义与生命周期4.内存对齐5.内存泄露6.智能指针7.new 和 malloc 有什么区别8.delete和free的区别9.什么野指针&#xff0c;怎么产生的&#xff0c;如何避免野指针10.野指针和指针悬浮的区别11.字符串操作函数参考 1. c内存管理 c在运行程…

LeetCode刷题--- 乘积为正数的最长子数组长度

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 ​​​​​​http://t.csdnimg.cn/6AbpV 数据结构与算法 ​​​http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述动…

ScheduledThreadPoolExecutor学习

简介 ScheduledThreadPoolExecutor 是 Java 中的一个类&#xff0c;它属于 java.util.concurrent 包。这个类是一个线程池&#xff0c;用于在给定的延迟后运行命令&#xff0c;或者定期地执行命令。它是 ThreadPoolExecutor 的一个子类&#xff0c;专门用于处理需要定时或周期…

解释索引是什么以及它们是如何提高查询性能的

索引在数据库管理系统中是一个重要的数据结构&#xff0c;用于帮助快速检索数据库表中的数据。它可以被看作是一个指向表中数据的指针列表&#xff0c;这些指针按照某种特定的顺序&#xff08;如字母顺序或数字顺序&#xff09;排列。索引的工作原理类似于书籍的目录&#xff1…

Python爬虫实战第二例【二】

零.前言&#xff1a; 本文章借鉴&#xff1a;Python爬虫实战&#xff08;五&#xff09;&#xff1a;根据关键字爬取某度图片批量下载到本地&#xff08;附上完整源码&#xff09;_python爬虫下载图片-CSDN博客 大佬的文章里面有API的获取&#xff0c;在这里我就不赘述了。 一…

kitex 入门和基于grpc的使用

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于kitex系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系…