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())