delay_ms和delay_us支援 os 需要用到的三個巨集定義:
值為 1,當 os 還未執行時,該巨集定義值為 0。
delay_ ostickspersec,用於表示 os 的時鐘節拍,即 os 每秒鐘任務排程次數。
delay_ osintnesting,用於表示 os 中斷巢狀級別,即中斷巢狀次數,每進入乙個
中斷,該值加 1,每退出乙個中斷,該值減 1。
delay_ms和delay_us支援os需要用到的4個函式:
delay_osschedlock,用於 delay_us 延時,作用是禁止 os 進行排程,以防打斷 us 級
延時,導致延時時間不准。
delay_osschedunlock,同樣用於 delay_us 延時,作用是在延時結束後恢復 os 的排程,繼續正常的 os 任務排程。
delay_ostimedly,則是呼叫 os 自帶的延時函式,實現延時。該函式的引數為時鐘節
拍數。systick_handler,則是 systick 的中斷服務函式,該函式為 os 提供時鐘節拍,同時
可以引起任務排程。
更為詳細的資訊,自行翻閱
《stm32f1開發指南-暫存器版本》
《cortex-m3權威指南》
stm32的Systick定時器
systick定時器簡介 systick定時器就是系統滴答定時器,乙個24 位的倒計數定時器,計到0 時,將從reload 暫存器中自動重裝載定時初值。只要不把它在systick 控制及狀態暫存器中的使能位清除,就永不停息,即使在睡眠模式下也能工作。systick定時器被 在nvic中,用於產生sy...
STM32學習筆記3 Systick
對於stm32中,有乙個經常用到,卻在資料手冊上很少資料的工具,那就是systick,這個工具是所有cortex m0核心的微控制器所共有的,他是乙個系統定時器,其存在的主要目的是為嵌入式作業系統提供100hz 即10ms 的定時節拍。當然,也可以做為其它的普通定時等其他用途。下面,我們就開始理解這...
STM32之SysTick定時器
systick 作業系統的心跳 systick是系統滴答定時器,可以說是作業系統的的 心跳 它被綁在nvic中,用於產生systick異常 異常號 15 一旦產生systick異常,就會產生滴答中斷,這個滴答中斷對作業系統尤其重要。例如 作業系統可以為多個任務分配不同數目的時間片,確保沒有乙個任務霸...