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