在單片機和嵌入式開發(fā)中,經(jīng)常會遇到PWM(脈寬調(diào)制)、定時器、SysTick(系統(tǒng)滴答定時器)這幾個詞。很多初學(xué)者容易把它們混為一談,以為都是“定時相關(guān)的東西”。其實,它們在本質(zhì)和應(yīng)用上有明顯差別。下面我們來梳理清楚。
一、基本概念
定時器(Timer)
MCU 內(nèi)最基礎(chǔ)的計數(shù)外設(shè),通過計數(shù)時鐘周期實現(xiàn)定時、計數(shù)功能。多數(shù) MCU 內(nèi)部有多個通用定時器,可配置為定時中斷、事件觸發(fā)或輸入捕獲等。
示例:STM32 16 位定時器每 1ms 觸發(fā)一次中斷
- HAL_TIM_Base_Start_IT(&htim2);// 啟動定時器中斷
- voidHAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef*htim){
- if(htim->Instance==TIM2){
- // 每 1ms 執(zhí)行的任務(wù)
- }
- }
PWM(Pulse Width Modulation,脈寬調(diào)制)
嚴(yán)格來說,PWM 并非獨立硬件,而是基于定時器的一種輸出模式。它通過控制高電平與低電平的占空比,調(diào)節(jié)輸出信號的平均電壓,實現(xiàn) LED 調(diào)光、馬達(dá)調(diào)速等。
示例:STM32 生成 1 kHz,50% 占空比 PWM
- HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);
- __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,500);// 占空比 50%
SysTick(System Tick Timer,系統(tǒng)滴答定時器)ARM Cortex-M 系列內(nèi)核自帶的24 位倒計時定時器,主要用于操作系統(tǒng)節(jié)拍(OS Tick),也可作為輕量級定時器使用。它獨立于通用定時器,硬件固定,配置簡單。、
示例:使用 SysTick 生成 1ms Tick
- HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);// 系統(tǒng)時鐘 1ms
- voidSysTick_Handler(void){
- HAL_IncTick();// 系統(tǒng)時間遞增
- }

- 三、應(yīng)用場景舉例
- 定時器(Timer)系統(tǒng)定時中斷(如每 1 ms 觸發(fā)一次)
- 測量脈沖寬度(捕獲模式)
- 外部信號計數(shù)(計數(shù)模式)
- 與 PWM 配合生成復(fù)雜波形PWM電機調(diào)速(通過占空比控制速度)
- LED 調(diào)光(調(diào)節(jié)亮度,避免閃爍)
- 模擬電壓輸出(通過濾波電路平滑波形)
- 簡單音頻輸出(模擬 DAC 方案)
- SysTickRTOS 心跳定時(如 FreeRTOS 1ms Tick)
- 簡單延時函數(shù)(中斷或計數(shù)實現(xiàn))
- 周期性任務(wù)調(diào)度(輕量級應(yīng)用)
- 四、總結(jié)定時器:基礎(chǔ)硬件,功能靈活,可用于計數(shù)、比較、捕獲等。
- PWM:定時器的應(yīng)用模式,用于波形輸出與占空比調(diào)節(jié)。
- SysTick:Cortex-M 內(nèi)核自帶的簡化定時器,主要服務(wù)系統(tǒng)調(diào)度。
- 可以類比理解:定時器 = 萬能工具箱PWM = 工具箱里的電烙鐵(專門輸出“熱量”)SysTick = 內(nèi)核贈送的小手表(簡單好用,但功能有限)
-
PWM
+關(guān)注
關(guān)注
116文章
5889瀏覽量
226463 -
定時器
+關(guān)注
關(guān)注
23文章
3370瀏覽量
124421 -
Systick
+關(guān)注
關(guān)注
0文章
67瀏覽量
14014
發(fā)布評論請先 登錄
STM32 SYSTICK定時器常見問題
通用定時器區(qū)別
SysTick—系統(tǒng)定時器
SysTick定時器介紹,SysTick定時器寄存器
STM32入門(十五)----SysTick系統(tǒng)定時器
STM32F4: Systick滴答定時器-延時函數(shù)講解(五)
SysTick 定時器
STM32筆記(七)---Systick系統(tǒng)定時器
systick定時器 延時計時
【STM32】SysTick滴答定時器(delay延時函數(shù)講解)
PWM、定時器、SysTick 區(qū)別及應(yīng)用場景
評論