成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OpenHarmony內(nèi)核編程接口—介紹定時(shí)器管理兩種定時(shí)器以及案例演示

系統(tǒng) OpenHarmony
軟件定時(shí)器(Timer),是基于系統(tǒng)時(shí)鐘tick且由軟件來(lái)模擬的定時(shí)器,當(dāng)經(jīng)過設(shè)定的tick計(jì)數(shù)值后會(huì)觸發(fā)用戶定義的回調(diào)函數(shù)。

想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:

51CTO 開源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

前言

本文介紹了內(nèi)核編程接口之軟定時(shí)器

軟定時(shí)器

軟定時(shí)器含義

軟件定時(shí)器(Timer),是基于系統(tǒng)時(shí)鐘tick且由軟件來(lái)模擬的定時(shí)器,當(dāng)經(jīng)過設(shè)定的tick計(jì)數(shù)值后會(huì)觸發(fā)用戶定義的回調(diào)函數(shù)。
ps1:定時(shí)器觸發(fā)函數(shù)的執(zhí)行,不是線程。
ps2:當(dāng)定時(shí)器到期時(shí),將執(zhí)行回調(diào)函數(shù)以運(yùn)行特定的代碼。
ps3:定時(shí)精度與時(shí)鐘周期有關(guān)。
ps4:所有定時(shí)器都可以啟動(dòng)、重新啟動(dòng)或停止。
ps5:每個(gè)定時(shí)器都可以配置為一次性或周期性定時(shí)器。

一次性定時(shí)器

一次性定時(shí)器指僅執(zhí)行一次操作即停止,不會(huì)自動(dòng)重新啟動(dòng)。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

周期性定時(shí)器

周期性定時(shí)器指重復(fù)其操作,直到它被刪除或停止。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

API接口介紹

osTimerNew

  • 功能:創(chuàng)建并初始化一個(gè)定時(shí)器。
  • 定義:osTimerId_t osTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr)。
  • 參數(shù):

func :定時(shí)器回調(diào)函數(shù)。
type :定時(shí)器類型。osTimerOnce 一次性定時(shí)器, osTimerPeriodic 周期性定時(shí)器。
argument :定時(shí)器回調(diào)函數(shù)的參數(shù)。
attr :定時(shí)器屬性。

  • 返回值:成功返回定時(shí)器id,失敗返回 NULL。

osTimerGetName

  • 功能:獲取指定ID的定時(shí)器的名稱
  • 定義:const char *osTimerGetName(osTimerId_t timer_id)
  • 參數(shù):timer_id :定時(shí)器 ID ,由 osTimerNew 生成
  • 返回值:成功返回定時(shí)器的名稱,失敗返回 NULL

osTimerStart

  • 功能:?jiǎn)?dòng)或者重啟指定ID的定時(shí)器
  • 定義:osStatus_t osTimerStart(osTimerId_t timer_id, uint32_t ticks)
  • 參數(shù):imer_id :定時(shí)器ID,由 osTimerNew 生成
    ticks :定時(shí)器的間隔
  • 返回值:osOK :操作成功
    osErrorISR :不能從中斷服務(wù)程序中調(diào)用
    osErrorParameter :參數(shù)錯(cuò)誤
    osErrorResource :定時(shí)器狀態(tài)無(wú)效

osTimerStop

  • 功能:停止指定ID的定時(shí)器
  • 定義:osStatus_t osTimerStop (osTimerId_t timer_id)
  • 參數(shù):timer_id :定時(shí)器ID ,由 osTimerNew 生成
  • 返回值:osOK :操作成功
    osErrorISR :不能從中斷服務(wù)程序中調(diào)用
    osErrorParameter :參數(shù)錯(cuò)誤
    osErrorResource :定時(shí)器不在運(yùn)行狀態(tài)(只能停止運(yùn)行態(tài)的定時(shí)器)

osTimerIsRunning

  • 功能:檢查指定ID的定時(shí)器是否在運(yùn)行
  • 定義:uint32_t osTimerIsRunning (osTimerId_t timer_id)
  • 參數(shù):timer_id :定時(shí)器ID,由 osTimerNew 生成
  • 返回值:1 :運(yùn)行 0 :沒有運(yùn)行或發(fā)生錯(cuò)誤

osTimerDelete

  • 功能:刪除指定ID的定時(shí)器
  • 定義:osStatus_t osTimerDelete (osTimerId_t timer_id)
  • 參數(shù):timer_id :定時(shí)器ID,由 osTimerNew 生成
  • 返回值:osOK :操作成功
    osErrorISR :不能從中斷服務(wù)程序中調(diào)用
    osErrorParameter :參數(shù)錯(cuò)誤
    osErrorResource :定時(shí)器狀態(tài)無(wú)效

案例演示

目標(biāo)1:創(chuàng)建一個(gè)定時(shí)器,每 1 秒調(diào)用一次回調(diào)函數(shù),回調(diào)函數(shù)給全局變量 times+1,主線程等待 3 秒,停止并刪除定時(shí)器。

準(zhǔn)備開發(fā)套件。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

根據(jù)路徑,新建文件。

applications\sample\wifi-iot\app\timer_demo\timer.c。

applications\sample\wifi-iot\app\timer_demo\BUILD.gn。

編寫源文件。

必要的頭文件。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

定義全局變量和定時(shí)器回調(diào)函數(shù)。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

創(chuàng)建主線程函數(shù)。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

定義入口函數(shù),運(yùn)行入口函數(shù)。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

編寫編譯腳本,注意路徑。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

編譯成功。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

燒錄成功。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

運(yùn)行成功。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

目標(biāo)2:創(chuàng)建一個(gè)定時(shí)器,每 2 秒調(diào)用一次回調(diào)函數(shù),主線程 1 秒后就停止定時(shí)器

根據(jù)路徑,新建文件。

applications\sample\wifi-iot\app\timer_demo\timer_once.c。

applications\sample\wifi-iot\app\timer_demo\BUILD.gn。

編寫源文件,定義定時(shí)器回調(diào)函數(shù)。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

創(chuàng)建主線程函數(shù)。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

定義運(yùn)行入口函數(shù)。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

修改編譯腳本。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

編譯成功。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

燒錄成功。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

運(yùn)行成功。

【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)【OpenHarmony內(nèi)核編程接口】介紹定時(shí)器管理兩種定時(shí)器以及案例演示-開源基礎(chǔ)軟件社區(qū)

想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:

51CTO 開源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

責(zé)任編輯:jianghua 來(lái)源: 51CTO 開源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2009-06-15 15:02:48

Spring定時(shí)器

2013-07-29 10:10:40

TCP協(xié)議TCP定時(shí)器TCP

2014-12-09 16:30:18

TCP定時(shí)器

2009-11-11 10:14:10

linux定時(shí)器操作系統(tǒng)

2010-07-28 15:56:22

FlexTimer定時(shí)

2018-12-03 12:20:52

Systemd定時(shí)器Linux

2009-04-12 08:51:50

Symbian諾基亞移動(dòng)OS

2011-02-23 10:20:45

2021-03-31 08:33:17

SysTick定時(shí)器SysTick定時(shí)器

2015-10-15 09:38:48

TCP網(wǎng)絡(luò)協(xié)議定時(shí)器

2023-01-10 13:53:21

Linux定時(shí)器

2022-11-02 11:40:16

Flowable定時(shí)器流程

2021-06-28 06:00:11

systemd定時(shí)器系統(tǒng)運(yùn)維

2023-02-28 18:09:53

Javascript定時(shí)器

2009-06-18 11:07:17

Spring fram

2017-03-06 14:08:38

JavaScript單線程setTimeout

2021-04-18 12:12:29

systemd定時(shí)器系統(tǒng)運(yùn)維

2017-02-28 17:18:34

Linux驅(qū)動(dòng)技術(shù)內(nèi)核定時(shí)器

2023-12-11 09:50:35

Linux定時(shí)器

2016-09-12 14:07:14

Android 定時(shí)器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: h视频在线观看免费 | 九色视频网站 | 亚洲精品二区 | 欧美成人精品二区三区99精品 | 日韩av在线不卡 | 亚洲av毛片| 国产乱码精品一区二区三区av | 999久久久| 黄色一级大片在线观看 | 在线高清免费观看视频 | 91久久精品一区二区二区 | 日韩在线小视频 | 免费人成激情视频在线观看冫 | 久久久www成人免费精品 | 求毛片 | 欧美一区二区三区 | 日韩中文一区 | 欧美八区 | 蜜桃臀av一区二区三区 | 国产乱码精品一区二区三区忘忧草 | 久久精品91久久久久久再现 | 久久久久久国产精品免费免费 | 欧美一级二级视频 | 国产无人区一区二区三区 | av黄色在线 | 天天干狠狠干 | 亚洲网一区 | 91色在线视频 | 亚洲一区二区三区在线视频 | 亚洲一区在线观看视频 | 日韩精品一区二 | 午夜影院在线观看免费 | 一区二区欧美在线 | 欧美1区2区 | 激情六月天| 亚洲国产欧美国产综合一区 | 国产精品视频偷伦精品视频 | 在线视频三区 | 欧美二区在线 | 日韩不卡三区 | 国产一区二区三区不卡av |