STM32之SysTick原理
一、STM32的SysTick簡介
?
SysTick是一個24位的系統節拍定時器system tick timer,SysTick,具有自動重載和溢出中斷功能,所有基于Cortex_M3處理器的微控制器都可以由這個定時器獲得一定的時間間隔。
systick的作用:
在單任務引用程序中,因為其架構就決定了它執行任務的串行性,這就引出一個問題:當某個任務出現問題時,就會牽連到后續的任務,進而導致整個系統崩潰。要解決這個問題,可以使用實時操作系統(RTOS).
因為RTOS以并行的架構處理任務,單一任務的崩潰并不會牽連到整個系統。這樣用戶出于可靠性的考慮可能就會基于RTOS來設計自己的應用程序。這樣SYSTICK存在的意義就是提供必要的時鐘節拍,為RTOS的任務調度提供一個有節奏的“心跳”。
微控制器的定時器資源一般比較豐富,比如STM32存在8個定時器,為啥還要再提供一個SYSTICK?原因就是所有基于ARM Cortex_M3內核的控制器都帶有SysTick定時器,這樣就方便了程序在不同的器件之間的移植。而使用RTOS的第一項工作往往就是將其移植到開發人員的硬件平臺上,由于SYSTICK的存在無疑降低了移植的難度。
?? SysTick定時器除了能服務于操作系統之外,還能用于其它目的:如作為一個鬧鈴,用于測量時間等。要注意的是,當處理器在調試期間被喊停(halt)時,則SysTick定時器亦將暫停運作。
systick的時鐘選擇:
二、SYSTICK的寄存器
總結
以上是生活随笔為你收集整理的STM32之SysTick原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为鸿蒙osbeta,久等了!华为鸿蒙O
- 下一篇: S5PV210裸机之SD卡