【样例实战】基于OpenHarmony 物联网套件开发样例--软定时器 原创
工欲善其事必先利其器,支持OpenHarmony的Pegasus智能家居开发套件隆重登场——(此处应有掌声)
润和软件Pegasus智能家居开发套件
华丽亮相: 首发于HDC 2020
行业地位:首批支持OpenHarmony的开发套件
官方推荐:鸿蒙官方社区推荐套件
量身打造:润和软件HiHope社区量身打造
应用广泛:鸿蒙社区和广大鸿蒙开发者中拥有广泛粉丝哦,快来加入润和鸿蒙系列套件开发者大家庭。
润和软件Pegasus智能家居开发套件
基于海思 Pagasus(Hi3861V100)芯片,支持OpenHarmony
主控为Wi-Fi SoC Hi3861,160MHz主频,SRAM 352KB,ROM 288KB,2M Flash。
基于模块化的WLAN模组,适用于联接类模组设备,为各类IoT设备提供连接能力。
包含丰富的功能单板,同时搭配扩展板,可以输出多种外设控制信号,方便扩展更多的传感器。
通用底板,降低开发难度,提升开发自主性。
板载NFC,实现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则停止时钟周期
三、如何编译
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源码顶层目录执行:
四、运行结果
[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 物联网应用开发实战》,点击了解详情!