資料介紹
Cortex-Mx 內核內部包含了一個 SysTick 定時器, SysTick 是一個 24 位的倒計數 定時器, 當計到 0 時, 將從 RELOAD 寄存器中自動重裝載定時初值。只要不把它在 SysTick 控制及狀態寄存器中的使能位清除,就永不停息。SysTick 在《STM32xx 中文 參考手冊》里面基本沒有介紹,其詳細介紹,內核編程手冊中。 在工程中我們將以 STM32F373 為例,為 SysTick 配置 1ms,利用 1ms 中斷處理系統任務。下面我們介紹 下寄存器:
下圖是 SysTick 定時器的 4 個寄存器概括,我們介紹部分使用的寄存器:

SysTick 控制和狀態寄存器

這個寄存器的 EBNALE(0 位)為 SysTick 的使能位,TICKINT(1 位)為設置是否產生 中斷,CLKSOURCE(2 位)為時鐘選擇,當為 1 時 AHB 時鐘不分頻,為 0 時 AHB 時鐘 8 分頻。當然我們選擇使能定時器,產生中斷,并選擇 AHB 8 分頻。假如系統時鐘為 72M, 即可獲得 72/8 = 9M 的 SysTick 時鐘頻率。使能 SysTick 并產生中斷,8 分頻時鐘,代 碼如下:
SysTick->CTRL = (0<<2) | (1<<1) | (1<<0);
SysTick 重裝載值寄存器

該圖來自數據手冊中斷和事件章節
圖 5 為 SysTick 重載計數值寄存器 RELOAD([23:0]),從該介紹我們可以得出結論, SysTick 的計數方式為向下計數,也就是從 RELOAD([23:0])值向下遞減,當減到 0 的時 候產生標志位,這個時候會重新裝載該寄存器值,循環執行上面的步驟。那麼我們可以 利用這個功能做一個 1ms 的定時器,我們已經配置系統時鐘為 72M,使用系統時鐘的 8 分頻(9M)作為 SysTick 定時器的時鐘,也就是說時鐘周期 T = 1/9M(ns),即 SysTick 減1需要1/9M(ns),我們定時1ms那麼重載寄存器的值為 1ms/(1/9M(ns))-1 = 8999(注 意這里要進行單位換算),這也就是我們的重裝載值,下面給出具體代碼配置,其中使 能等操作包含在 SysTick_Config();函數里面。配置代碼如下:
SysTick->LOAD = 8999;
單個寄存器講完了我們總結一下綜合起來讓 SysTick 工作起來,我們把 SySTick 的配置 單獨做成一個函數如下:
Void SysTick_Init(void)
{
/*
第一步:裝載值
第二步:使能 SysTick 并允許中斷,8 分頻時鐘
第三步:設置 SysTick 優先級
完整版技術文檔請點擊文章開頭普通下載
- 【STM32】SysTick滴答定時器(delay延時函數講解)
- STM32單片機systick使用注意事項
- STM32單片機systick使用注意事項
- 初學stm32-Systick滴答時鐘定時
- Systick 定時器 stm32 初學者筆記
- STM32筆記(七)---Systick系統定時器
- STM32學習筆記(5)——系統定時器SysTick
- STM32_SysTick—系統定時器
- stm32 SysTick/EXTI/USART中斷過程
- STM32F4: Systick滴答定時器-延時函數講解(五)
- STM32入門(十五)----SysTick系統定時器
- STM32—關于SYSTICK系統時鐘的詳解及學習筆記
- STM32學習筆記之SysTick
- STM32L0x3單片機參考手冊
- STM32菜鳥成長記錄---系統滴答定時器(systick)應用資料下載
- 個人對STM32 SysTick的總結(寄存器操作) 2338次閱讀
- FreeRTOS中Systick的問題 1434次閱讀
- 關于SYSTICK的COUNTFLAG標志的小疑惑 1804次閱讀
- SysTick時鐘 943次閱讀
- STM32的SysTick時鐘源是來自Cortex系統定時器嗎? 5461次閱讀
- SysTick定時器介紹,SysTick定時器寄存器 1.8w次閱讀
- STM32單片機Systick函數的使用方法 6045次閱讀
- STM32單片機SysTick系統滴答功能解析 6146次閱讀
- STM32單片機對Systick心跳定時器的設計 4278次閱讀
- STM32單片機的SYSTick定時器的設置 3954次閱讀
- 如何使用STM32實現systick的精確延時 6039次閱讀
- SysTick定時器實現走馬燈的功能 2833次閱讀
- 如何用SysTick實現測量程序運行時間 6225次閱讀
- STM32知識:什么是SYSTICK 作用是什么 5w次閱讀
- STM32L0X1超低功耗系列芯片引腳及特性分析 1.5w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論