資料介紹
單片機編程過程中經(jīng)常用到延時函數(shù),最常用的莫過于微秒級延時delay_us( )和毫秒級delay_ms( )。
1.普通延時法
(1)普通延時法1
這個比較簡單,讓單片機做一些無關(guān)緊要的工作來打發(fā)時間,經(jīng)常用循環(huán)來實現(xiàn),不過要做的比較精準(zhǔn)還是要下一番功夫。下面的代碼是在網(wǎng)上搜到的,經(jīng)測試延時比較精準(zhǔn)。
(2)普通延時法2
2.SysTick?定時器延時
CM3?內(nèi)核的處理器,內(nèi)部包含了一個SysTick?定時器,SysTick?是一個24?位的倒計數(shù)定時器,當(dāng)計到0?時,將從RELOAD?寄存器中自動重裝載定時初值。只要不把它在SysTick?控制及狀態(tài)寄存器中的使能位清除,就永不停息。SysTick?在STM32的參考手冊里面介紹的很簡單,其詳細(xì)介紹,請參閱《Cortex-M3?權(quán)威指南》。
這里面也有兩種方式實現(xiàn):
(1)中斷方式?如下,定義延時時間time_delay,SysTick_Config()定義中斷時間段,在中斷中遞減time_delay,從而實現(xiàn)延時。
(2)非中斷方式
主要仿照原子的《STM32不完全手冊》。SYSTICK?的時鐘固定為HCLK?時鐘的1/8,在這里我們選用內(nèi)部時鐘源72M,所以SYSTICK的時鐘為9M,即SYSTICK定時器以9M的頻率遞減。SysTick?主要包含CTRL、LOAD、VAL、CALIB?等4?個寄存器。
CTRL: SysTick控制和狀態(tài)寄存器
LOAD: SysTick重裝載值寄存器
VAL:? ? SysTick當(dāng)前值寄存器
CALIB:SysTick校準(zhǔn)值寄存器
對這幾個寄存器的操作被封裝到core_cm3.h中:
SysTick->CTRL
SysTick-> LOAD
SysTick-> VAL
SysTick-> CALIB 不常用,在這里我們也用不到,故不介紹了。
程序如下,相當(dāng)于查詢法。
三種方式各有利弊,第一種方式容易理解,但不太精準(zhǔn)。第二種方式采用庫函數(shù),編寫簡單,由于中斷的存在,不利于在其他中斷中調(diào)用此延時函數(shù)。第三種方式直接操作寄存器,看起來比較繁瑣,其實也不難,同時克服了以上兩種方式的缺點,個人感覺比較好用。
版權(quán)聲明:本文為CSDN博主「魏波-」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 《嵌入式 - 深入剖析STM32》STM32高精度延時實現(xiàn)
- STM32延時函數(shù)的三種方法
- 單片機:延時函數(shù)的理解
- 詳細(xì)介紹STM32單片機常用庫函數(shù)資料下載
- 51單片機常用庫函數(shù)程序免費下載
- 51單片機的延時函數(shù)程序免費下載
- 單片機延時函數(shù)的資料合集免費下載
- 51單片機延時函數(shù)delay的編寫實例函數(shù)和資料免費下載
- STM32F單片機FLASH的讀寫函數(shù)資料免費下載
- 51單片機的晶振11.0592M延時函數(shù)免費下載
- 51單片機的延時函數(shù)資料免費下載
- 51單片機延時函數(shù)計算問題以及如何準(zhǔn)確延時的詳細(xì)資料說明
- 單片機C語言中如何使用nop函數(shù)進行短延時的效果資料和程序說明 10次下載
- AVR單片機的延時函數(shù)程序免費下載 7次下載
- 實戰(zhàn)中經(jīng)常用到的元器件PCB封裝庫 0次下載
- 51、STM32單片機的編程方式一樣嗎? 4.3k次閱讀
- STM32單片機常用庫函數(shù)詳細(xì)介紹與程序 5.9k次閱讀
- Systick定時器延時原理與HAL_Delay()延時函數(shù)的使用 1.8w次閱讀
- 51單片機的匯編程序庫 1.1w次閱讀
- STM32單片機中OBG調(diào)試接口的介紹 6.6k次閱讀
- 單片機按鍵掃描程序和顯示程序及延時程序解析 4.7k次閱讀
- 淺析STM32調(diào)試過程中的幾個相關(guān)問題 6.1k次閱讀
- 單片機調(diào)試過程中的調(diào)試組件導(dǎo)致的問題 7.9k次閱讀
- 基于STM32單片機的功能及特點 5w次閱讀
- 一個比較有效的單片機編程思路 1w次閱讀
- 單片機延時程序基本知識匯總 2.2w次閱讀
- 單片機精確毫秒延時函數(shù) 1.3w次閱讀
- 51單片機的幾種精確延時 5k次閱讀
- 單片機編程之匯編語言基礎(chǔ)-常用指令和程序模式 1.6w次閱讀
- 單片機開發(fā)過程中硬件調(diào)試技巧 1.5w次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數(shù)據(jù)手冊
- 3.00 MB | 次下載 | 免費
- 2MDD品牌三極管BC817數(shù)據(jù)手冊
- 2.51 MB | 次下載 | 免費
- 3MDD品牌三極管D882數(shù)據(jù)手冊
- 3.49 MB | 次下載 | 免費
- 4MDD品牌三極管MMBT2222A數(shù)據(jù)手冊
- 3.26 MB | 次下載 | 免費
- 5MDD品牌三極管MMBTA56數(shù)據(jù)手冊
- 3.09 MB | 次下載 | 免費
- 6MDD品牌三極管MMBTA92數(shù)據(jù)手冊
- 2.32 MB | 次下載 | 免費
- 7STM32G474 HRTIME PWM 丟波問題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 3PC5502負(fù)載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 22次下載 | 免費
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論