9、軟定時器
軟定時器
- 軟定時器的原理與建立
- 軟定時器的啟動與停止
- 軟定時器的刪除與狀態查詢
1、軟定時器的原理與建立
// 軟定時器結構 typedef struct _tTimer { // 連結串列結點 tNode linkNode; // 初次啟動延後的ticks數 uint32_t startDelayTicks; // 週期定時時的週期tick數 uint32_t durationTicks; // 當前定時遞減計數值 uint32_t delayTicks; // 定時回撥函式 void (*timerFunc) (void * arg); // 傳遞給回撥函式的引數 void * arg; // 定時器配置引數 uint32_t config; // 定時器狀態 tTimerState state; }tTimer;
#// 定時器1:100個tick後啟動,以後每10個tick啟動一次
tTimerInit(&timer1, 100, 10, timerFunc, (void *)&bit1, TIMER_CONFIG_TYPE_HARD);
#原型:
/********************************************************************************************************** ** Function name: tTimerInit ** Descriptions : 初始化定時器 ** parameters : timer 等待初始化的定時器 ** parameters : delayTicks 定時器初始啟動的延時ticks數。 ** parameters : durationTicks 給週期性定時器用的週期tick數,一次性定時器無效 ** parameters : timerFunc 定時器回撥函式 ** parameters : arg 傳遞給定時器回撥函式的引數 ** parameters : timerFunc 定時器回撥函式 ** parameters : config 定時器的初始配置 ** Returned value : 無 ***********************************************************************************************************/ void tTimerInit (tTimer * timer, uint32_t delayTicks, uint32_t durationTicks, void (*timerFunc) (void * arg), void * arg, uint32_t config) { tNodeInit(&timer->linkNode); timer->startDelayTicks = delayTicks; timer->durationTicks = durationTicks; timer->timerFunc = timerFunc; timer->arg = arg; timer->config = config; // 如果初始啟動延時為0,則使用週期值 if (delayTicks == 0) { timer->delayTicks = durationTicks; } else { timer->delayTicks = timer->startDelayTicks; } timer->state = tTimerCreated; }
2、軟定時器的啟動與停止
3、軟定時器的刪除與狀態查詢
相關推薦
9、軟定時器
軟定時器 軟定時器的原理與建立 軟定時器的啟動與停止 軟定時器的刪除與狀態查詢 1、軟定時器的原理與建立 // 軟定時器結構 typedef struct _tTimer { //
java定時器、Spring定時器和Quartz定時器
當前java程式中能夠實現定時的主要有三種方式,分別是:java定時器,spring定時器,quartz定時器。 下面依次講講他們的應用! java定時器的應用 其實java很早就有解決定時器任務的方法了,ja
嵌入式常用模組——軟定時器
文章目錄 嗯 硬體的資源總是緊張的,用這些有限的資源去做更多的事情,這大概就是每個硬體工程師一直在計較的事情了吧。定時器應該是很常用的一個功能了,很多地方都需要。然而硬定時器就那麼幾個。所以面對一些對時間精度要求沒那麼高的地方,軟定時器就很有用了。 簡單描述 所
微控制器軟定時器
一直想在微控制器上實現一個像MFC和WPF一樣的軟定時器,花了點時間終於寫出來了,使用時需把timer_run函式放到定時器中斷服務函式裡面 typedef struct _TIMER { unsigned char isEnable; unsigned int c
linux核心分析之軟定時器筆記
定時器是一種軟體功能,即允許在將來的某個時刻,函式在給定的時間間隔用完時被呼叫。超時表示與定時器相關的時間間隔已經用完的那個時刻。 linux上考慮兩種型別的定時器,即動態定時和間隔定時器。第一種型別由核心使用,而間隔定時器由程序在使用者態建立。 動態定時器 動態定時的主要
STM32 ——高階定時器、通用定時器、基本定時器的區別
STM32 ——高階定時器、通用定時器、基本定時器的區別 TIM1和TIM8定時器的功能包括【增強型】: ● 16位向上、向下、向上/下自動裝載計數器 ● 16位可程式設計(可以實時修改)預分頻器,計數器時鐘頻率的分頻係數為1~65535之間的任意數值 ● 多達4個獨
IAR上部分UCOS軟定時器無法啟動的問題
平臺:MSP430F5438A UCOSII:V2.86 IAR版本:5.10或者7.10 問題描述:使用OSTmrCreate建立的軟定時器,OSTmrStart之後回撥函式總是無法被執行 解決辦法:後來對比了keil上STM32的ucosII程式碼 發現在os_cpu
定時器的實現、java定時器介紹與Spring中定時器的配置
1定時器的作用 在實際的開發中,如果專案中需要定時執行或者需要重複執行一定的工作,定時器顯現的尤為重要。 當然如果我們不瞭解定時器就會用執行緒去實現,例如: package org.lzstone.action public class FinanceAction exte
定時器的實現、java定時器Timer和Quartz介紹與Spring中定時器的配置
欄位 允許值 允許的特殊字元 秒 0-59 , - * / 分 0-59 , - * / 小時 0-23 , - * / 日期 1-31 , - * ? / L W C 月份 1-12 或者 JAN-DEC , - * / 星期 1-7 或者 SUN-SAT , - *
《9.定時器、看門狗和RTC》
《9.定時器、看門狗和RTC》 第一部分、章節目錄 1.9.1.什麼是定時器 1.9.2.S5PV210中的定時器 1.9.3.S5PV210的PWM定時器1 1.9.4.S5PV210的PWM定時器2 1.9.5.S5PV210的PWM定時器3 1.9.6.蜂鳴器和PWM定時器程式設計
js 定時器用法詳解——setTimeout()、setInterval()、clearTimeout()、clearInterval()
ntb 幫助 .get tint num 用法 -c 函數 tel 在js應用中,定時器的作用就是可以設定當到達一個時間來執行一個函數,或者每隔幾秒重復執行某段函數。這裏面涉及到了三個函數方法:setInterval()、setTimeout()、clearI
MySQL5-函數/存儲過程與定時器、觸發器
名稱 狀態 訪問 safe 安全問題 ant comm gnu led 目錄 一、函數/存儲過程 二、定時器 三、觸發器 四、函數語句學習 一、函數/存儲過程 1、函數與存儲過程 (1) function與procedure的區別:一個有返回值,一個沒有,僅此而已。
iOS 計時器三種定時器的用法NSTimer、CADisplayLink、GCD
並且 reat clas 就會 固定 tro run mod 不同 原文:http://www.cocoachina.com/ios/20160919/17595.html 一、三種計時器 二、全局倒計時 #import "ViewController.h" @inte
軟件定時器osTimerCreate返回NULL
bug popu == msi fonts enter content eat stm32 CMSIS-RTOS是對FreeRtos的封裝,函數名比較適合純軟件編程。 如今的版本號是1.0.2. id1 = osTimerCreate(osTimer(T
9.SFB前端、邊緣服務器更新
exchange skype for business 下載更新1.截至2017年7月,最新的SFB更新為:KB30610642.下載地址:https://www.microsoft.com/en-us/download/details.aspx?id=476903.官方安裝說明。安裝更新(標準版前端
第34天:日期函數、定時器、倒計時
spl inner function nth 設置 gin dem 案例 支持 一、日期函數(Date())設置本地日期:年月日時分秒1、聲明日期var date=new Date();//創建一個新的日期函數2、使用函數date.getTime();//提倡使用,date
centos 6.9部署svn服務器(服務器、客戶端環境配置)
svn svn服務器 tortoisesvn tortoisesvn使用 svn版本控制系統有很多用途,最近公司使用它加腳本實現產品補丁小更新(因為如果每次都大更新的話,每次都要重新打rpm包,更新yum源等,很麻煩)。一、服務器端安裝1、安裝svn[root@svn ~]#yum insta
9.1定時器 小時分秒
ets enter 當前系統時間 style function chrom art href idt 功能:用切換圖片0-9效果顯示當前系統時間 屬性:img的src 1.用到 new Date() getHours(),getMinutes(),getSeconds()
emWin 2天速成實例教程004_軟件定時器(Timer)和位圖片動畫
emwin timer image 定時器 動畫 備註:(1)打開工程目錄下的"Exe\GUISimulationDebug.exe"即可看到效果。(2)看完教程000~005就基本會用emWin做項目,其他章節可以需要時再參考。 emWin的TIMER是一個軟件定時
Day4 - Python基礎4 叠代器、裝飾器、軟件開發規範
The 用戶 主程 容量 自然數 num tin class 本質 Day4 - Python基礎4 叠代器、裝飾器、軟件開發規範 1.叠代器&生成器 生成器 背景:通過列表生成式能生成一個列表,但受內存限制,列表的容量肯定是有限的。而且當列表元素很多時,會占用