STM32延時函數(shù)的方法
1.普通延時法
這個比較簡單,讓單片機做一些無關(guān)緊要的工作來打發(fā)時間,經(jīng)常用循環(huán)來實現(xiàn),不過要做的比較精準還是要下一番功夫。
2.SysTick 定時器延時
CM3 內(nèi)核的處理器,內(nèi)部包含了一個SysTick 定時器,SysTick 是一個24 位的倒計數(shù)定時器,當計到0 時,將從RELOAD寄存器中自動重裝載定時初值。
延時函數(shù)delay的編寫
原理:3層for循環(huán),循環(huán)次數(shù)是 NUM = 4X5X248 = 4960次,由每次循環(huán)都有條件判斷(如 i 》0)和自減語句(如 i--),因此每次循環(huán)又耗費兩個機器周期
所以,總耗費的機器周期為 SUM = NUM x 2 = 9920個。
整合自:CSDN的沐白001、ZJE_ANDY
編輯:jq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
處理器
+關(guān)注
關(guān)注
68文章
20256瀏覽量
252484 -
STM32
+關(guān)注
關(guān)注
2310文章
11162瀏覽量
373538 -
延時函數(shù)
+關(guān)注
關(guān)注
0文章
25瀏覽量
10371
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
CW32L012與STM32G431的CORDIC三角函數(shù)運算性能對比
本文對比均為作者實測,結(jié)果僅供參考,可附代碼供有意者評估~ STM32G431是STM32家族中較新的產(chǎn)品。CW32L012也是武漢芯源半導(dǎo)體最新推出的混合信號MCU,讓我們深入分析基于各自芯片
如何在Zephyr RTOS中實現(xiàn)延時和計時函數(shù)
多種延時與計時實現(xiàn)方案,滿足不同應(yīng)用場景的需求。那么,大家平時都是怎么在MCU程序中實現(xiàn)計時函數(shù)、實現(xiàn)延時的呢?
Cortex-M內(nèi)核中的精確延時的方法
為什么要學(xué)習(xí)這種延時的方法?
很多時候我們跑操作系統(tǒng),就一般會占用一個硬件定時器——SysTick,而我們一般操作系統(tǒng)的時鐘節(jié)拍一般是設(shè)置100-1000HZ,也就是1ms——10ms產(chǎn)生一次中斷
發(fā)表于 11-21 07:51
使用系統(tǒng)定時器SysTick來實現(xiàn)精確延時微秒和毫秒函數(shù)
內(nèi)核MCU之間,可以很方便的實現(xiàn)。而東芝的這款TT_M3HQ開發(fā)板使用的TMPM3HQFDFG芯片,正好是ARM Cortex-M3內(nèi)核,所以以前使用的延時函數(shù),可以直接拿過來使用,無需任何修改
發(fā)表于 11-20 07:12
第4章 C語言基礎(chǔ)以及流水燈的實現(xiàn)(4.7 4.8)
的范圍值來改變延時時間,但是循環(huán)的執(zhí)行時間都是不能通過程序看出來的。 精確延時有兩個方法,一個方法是用定時器來延時,這個
使用函數(shù)塊實現(xiàn)三相電機正反轉(zhuǎn)控制
在使用西門子S1200PLC,所使用的軟件是博途軟件,在這個軟件里運用了塊的概念。比如我們常見的組織塊(OB)、函數(shù)塊(FB)、數(shù)據(jù)塊(DB)以及函數(shù)FC等。今天我們來具體交流一下這個函數(shù)塊(FB)的具體使用
探頭的延時介紹
探頭的延時是指信號從被測點傳輸?shù)绞静ㄆ鬏斎攵说臅r間間隔,即信號經(jīng)過探頭的探針、傳輸電纜、內(nèi)部電路等路徑后,到達示波器采樣系統(tǒng)的總時間延遲,(以下討論低速信號情景,忽略示波器通道間ps級的延時誤差)。不同型號的探頭延時存在差異,尤
在rtthread的main函數(shù)里用HAL_Delay函數(shù)不起作用是哪里的問題?
在rtthread的main函數(shù)里用HAL_Delay函數(shù)無效,我設(shè)置延時500ms打印一次,但是實際上,一秒打印了幾百次,很顯然是HAL_Delay出現(xiàn)了問題。用RT_thread_mdelay
發(fā)表于 09-15 07:53
認識探頭的延時
探頭的延時是指信號從被測點傳輸?shù)绞静ㄆ鬏斎攵说臅r間間隔,即信號經(jīng)過探頭的探針、傳輸電纜、內(nèi)部電路等路徑后,到達示波器采樣系統(tǒng)的總時間延遲,(以下討論低速信號情景,忽略示波器通道間ps級的延時誤差
Linux修改uboot啟動延時方法詳細攻略,觸覺智能RK3568開發(fā)板演示
本文介紹Linux系統(tǒng)修改uboot啟動延時方法,使用觸覺智能EVB3568鴻蒙開發(fā)板演示,搭載瑞芯微RK3568,四核A55處理器,主頻2.0Ghz,1T算力NPU;支持開源鴻蒙
STM32F030內(nèi)部晶振怎么設(shè)置,內(nèi)部晶振是延時函數(shù)怎么設(shè)置?
STM32F030內(nèi)部晶振怎么設(shè)置,內(nèi)部晶振是延時函數(shù)怎么設(shè)置
使用STM32F030時沒使用內(nèi)部晶振怎么設(shè)置,使用內(nèi)部晶振時延時
發(fā)表于 04-23 07:45
解鎖TSMaster fifo函數(shù):報文讀取的高效方法
前言:TSMaster目前有兩種讀取報文的模式:回調(diào)函數(shù)模式和fifo模式。fifo函數(shù)是TSMaster近期新增的函數(shù),本文將重點介紹fifo模塊。關(guān)于回調(diào)函數(shù)的使用
使用SysTick_Config函數(shù)寫延時函數(shù),顯示SysTick_Config無法被調(diào)用如何解決?
使用SysTick_Config函數(shù)寫延時函數(shù),但顯示SysTick_Config無法被調(diào)用,怎么解決呢?
發(fā)表于 03-12 06:56
STM32CUBEide有沒有像KEIL一樣可以自己指定函數(shù)注釋模板的方法?
最近從keil轉(zhuǎn)到CUBEIDE編程了,現(xiàn)在非常不舒服的一點是函數(shù)注釋方面。STM32CUBEide有沒有像KEIL一樣可以自己指定函數(shù)注釋模板的方法,可以注釋
發(fā)表于 03-11 08:06
STM32延時函數(shù)的方法
評論