c語言製作定時器庫

2021-10-13 13:00:49 字數 3237 閱讀 8097

void

settick

(int val)

;

設定定時間的間隔時間tick,若設定tick為1000,且任務的定時器時間為1000,則任務會在1秒後執行,預設tick為1秒,最小tick時間為1us。

void

addtimertask

(timertask task,

int val,

int autoreset,

void

*arg)

;

task_start

(test2, arg)

//body

arg *temp =

(arg*

)arg;

temp->ret = temp->a + temp->b;

printf

("this is a test2\n");

task_end

task_start(name, arg)是任務頭,name是任務名,arg是引數位址,task_end是任務結尾。任務體內可編寫正常的c語言**,並使用引數arg指標。

autoreset有兩個可選項:autoreset(重複執行),noreset(執行一次)。

若沒有引數,可將arg引數設定為null。

void

timerwait()

;

用於等待任務列表中所有任務執行完畢。

void

timerstop()

;

用於停止定時器。

void

starttimer()

;

用於啟動定時器。

#include

#include

"timer.h"

typedef

struct argumentarg;

//任務1,列印語句

task_start

(test1, arg)

printf

("this is a test1\n");

task_end

//任務2,計算arg中兩個數的和,列印語句

task_start

(test2, arg)

arg *temp =

(arg*

)arg;

temp->ret = temp->a + temp->b;

printf

("this is a test2\n");

task_end

//任務3,列印語句

task_start

(test3, arg)

printf

("this is a test3\n");

task_end

void

main()

執行結果:

C C 定時器製作

三種不同精度的睡眠 unsigned int sleep unsigned int seconds 睡眠多少秒,睡眠被訊號中斷,返回剩餘的睡眠時間 int usleep useconds t usec 睡眠多少微秒,int nanosleep const struct timespec req,st...

學員操作 製作秒錶定時器

點選開始按鈕進行秒錶計時 點選暫停按鈕可以停止計時 點選重置按鈕可以清零時間 doctype html html head meta charset utf 8 title 計時器 title style wrap btn style head body div class wrap input t...

定時器和延時器(利用定時器製作倒計時)

一 延時器 settimeout 1.延時器 settimeout 的工作方式是 當設定乙個延時器是5s後進行時,並不代表它5s後就立即執行,只是代表它5s後會被加入佇列,如果5s後,佇列沒有其他東西,那麼延時器的 會立即執行,否則會延遲執行。因此,關於延時器最重要的一點是 指定的時間間隔 如設定5...