基于OpenHarmony的物联网套件开发样例-软定时器

今日头条

1100人已加入

描述

 

OpenHarmony

润和软件Pegasus智能家居开发套件

基于海思 Pagasus(Hi3861V100)芯片,支持OpenHarmony

主控为Wi-Fi SoC Hi3861,160MHz主频,SRAM 352KB,ROM 288KB,2M Flash。

基于模块化的WLAN模组,适用于联接类模组设备,为各类IoT设备提供连接能力。

包含丰富的功能单板,同时搭配扩展板,可以输出多种外设控制信号,方便扩展更多的传感器。

通用底板,降低开发难度,提升开发自主性。

板载NFC,实现OpenHarmony”碰一碰“。

OpenHarmony

初入“OpenHarmony”深似海?润和套件伴您走江湖~关注账号,无论是开箱、开发环境搭建,还是样例开发,在这里一站式搞定,轻松上手,更多干货随心享。

 

今天跟大家分享Pegasus智能家居开发套件之样例开发----软定时器(Timer)


一、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 定时器属性

 

二、代码分析
定时器的回调函数

void cb_timeout_periodic(void *arg) {    (void)arg;    times++;}

使用osTimerNew创建一个100个时钟周期调用一次回调函数cb_timeout_periodic定时器,每隔100个时钟周期检查一下全局变量times是否小于3,若不小于3则停止时钟周期

  

OpenHarmony


三、如何编译
1. 将此目录下的 timer.c BUILD.gn 复制到openharmony源码的applications\sample\wifi-iot\app\iothardware目录下,

2. 修改openharmony源码的applications\sample\wifi-iot\app\BUILD.gn文件,将其中的 features 改为:

    features = [        "iothardware:timer_demo",    ]

3. 在openharmony源码顶层目录执行:

  

OpenHarmony

四、运行结果
[Timer Test] osTimerNew(periodic timer) success, tid: 0xe9b4c.[Timer Test] osTimerStart(periodic timer) success, wait a while and stop.[Timer Test] times:0.[Timer Test] times:1.[Timer Test] times:2.[Timer Test] stop periodic timer, status :0.[Timer Test] kill periodic timer, status :0.

 
五、相关资料获取
【编译构建脚本下载】

【源码下载】

  

OpenHarmony

点击【淘宝店铺-润和芯片社区】入口链接,即刻下单!

已上线本开发套件专题指导教程《基于OpenHarmony 物联网应用开发实战》,点击了解详情!

OpenHarmony

审核编辑:符乾江
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分