File: clock.c
取得當前 tick#
即回傳全域變數 rt_tick 值
| 功能 | 回傳值 |
|---|---|
| 取得當前的 system tick | tick 值 |
41 | /** |
設定當前 tick#
| 功能 | 回傳值 | tick |
|---|---|---|
| 修改 system tick | void | 欲修改的結果 |
- 由於需要修改全域變數,因此這裡需要將中斷關閉進入 critical region
53 | /** |
增加 tick#
- 增加 tick 是由 ISR 所執行的動作,因此修改
rt_tick值不需進入 critical region - 由於增加 tick 需要發出中斷,所以所有的 ISR 都不可以佔用太多時間(如果執行超過一個 tick 的時間,clock ISR 就無法在正確的時間發生中斷,時間就會不準)
| 功能 | 回傳值 |
|---|---|
| 增加 tick(clock ISR) | void |
65 | /** |
- 在增加
rt_tick值的同時,也減少當前 thread 的剩餘 tick 值;當減至 0 時,重設剩餘 tick 並讓出處理器。 - (rt_timer_check())