資料介紹
單片機(jī)編程過程中經(jīng)常用到延時(shí)函數(shù),最常用的莫過于微秒級延時(shí)delay_us( )和毫秒級delay_ms( )。
1.普通延時(shí)法
(1)普通延時(shí)法1
這個(gè)比較簡單,讓單片機(jī)做一些無關(guān)緊要的工作來打發(fā)時(shí)間,經(jīng)常用循環(huán)來實(shí)現(xiàn),不過要做的比較精準(zhǔn)還是要下一番功夫。下面的代碼是在網(wǎng)上搜到的,經(jīng)測試延時(shí)比較精準(zhǔn)。
(2)普通延時(shí)法2
2.SysTick?定時(shí)器延時(shí)
CM3?內(nèi)核的處理器,內(nèi)部包含了一個(gè)SysTick?定時(shí)器,SysTick?是一個(gè)24?位的倒計(jì)數(shù)定時(shí)器,當(dāng)計(jì)到0?時(shí),將從RELOAD?寄存器中自動重裝載定時(shí)初值。只要不把它在SysTick?控制及狀態(tài)寄存器中的使能位清除,就永不停息。SysTick?在STM32的參考手冊里面介紹的很簡單,其詳細(xì)介紹,請參閱《Cortex-M3?權(quán)威指南》。
這里面也有兩種方式實(shí)現(xiàn):
(1)中斷方式?如下,定義延時(shí)時(shí)間time_delay,SysTick_Config()定義中斷時(shí)間段,在中斷中遞減time_delay,從而實(shí)現(xiàn)延時(shí)。
(2)非中斷方式
主要仿照原子的《STM32不完全手冊》。SYSTICK?的時(shí)鐘固定為HCLK?時(shí)鐘的1/8,在這里我們選用內(nèi)部時(shí)鐘源72M,所以SYSTICK的時(shí)鐘為9M,即SYSTICK定時(shí)器以9M的頻率遞減。SysTick?主要包含CTRL、LOAD、VAL、CALIB?等4?個(gè)寄存器。
CTRL: SysTick控制和狀態(tài)寄存器
LOAD: SysTick重裝載值寄存器
VAL:? ? SysTick當(dāng)前值寄存器
CALIB:SysTick校準(zhǔn)值寄存器
對這幾個(gè)寄存器的操作被封裝到core_cm3.h中:
SysTick->CTRL
SysTick-> LOAD
SysTick-> VAL
SysTick-> CALIB 不常用,在這里我們也用不到,故不介紹了。
程序如下,相當(dāng)于查詢法。
三種方式各有利弊,第一種方式容易理解,但不太精準(zhǔn)。第二種方式采用庫函數(shù),編寫簡單,由于中斷的存在,不利于在其他中斷中調(diào)用此延時(shí)函數(shù)。第三種方式直接操作寄存器,看起來比較繁瑣,其實(shí)也不難,同時(shí)克服了以上兩種方式的缺點(diǎn),個(gè)人感覺比較好用。
版權(quán)聲明:本文為CSDN博主「魏波-」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 《嵌入式 - 深入剖析STM32》STM32高精度延時(shí)實(shí)現(xiàn)
- STM32延時(shí)函數(shù)的三種方法
- 單片機(jī):延時(shí)函數(shù)的理解
- 詳細(xì)介紹STM32單片機(jī)常用庫函數(shù)資料下載
- 51單片機(jī)常用庫函數(shù)程序免費(fèi)下載
- 51單片機(jī)的延時(shí)函數(shù)程序免費(fèi)下載
- 單片機(jī)延時(shí)函數(shù)的資料合集免費(fèi)下載
- 51單片機(jī)延時(shí)函數(shù)delay的編寫實(shí)例函數(shù)和資料免費(fèi)下載
- STM32F單片機(jī)FLASH的讀寫函數(shù)資料免費(fèi)下載
- 51單片機(jī)的晶振11.0592M延時(shí)函數(shù)免費(fèi)下載
- 51單片機(jī)的延時(shí)函數(shù)資料免費(fèi)下載
- 51單片機(jī)延時(shí)函數(shù)計(jì)算問題以及如何準(zhǔn)確延時(shí)的詳細(xì)資料說明
- 單片機(jī)C語言中如何使用nop函數(shù)進(jìn)行短延時(shí)的效果資料和程序說明 10次下載
- AVR單片機(jī)的延時(shí)函數(shù)程序免費(fèi)下載 7次下載
- 實(shí)戰(zhàn)中經(jīng)常用到的元器件PCB封裝庫 0次下載
- 51、STM32單片機(jī)的編程方式一樣嗎? 1200次閱讀
- STM32單片機(jī)常用庫函數(shù)詳細(xì)介紹與程序 3755次閱讀
- Systick定時(shí)器延時(shí)原理與HAL_Delay()延時(shí)函數(shù)的使用 1.3w次閱讀
- 51單片機(jī)的匯編程序庫 9414次閱讀
- STM32單片機(jī)中OBG調(diào)試接口的介紹 5373次閱讀
- 單片機(jī)按鍵掃描程序和顯示程序及延時(shí)程序解析 4176次閱讀
- 淺析STM32調(diào)試過程中的幾個(gè)相關(guān)問題 5228次閱讀
- 單片機(jī)調(diào)試過程中的調(diào)試組件導(dǎo)致的問題 7261次閱讀
- 基于STM32單片機(jī)的功能及特點(diǎn) 4.9w次閱讀
- 一個(gè)比較有效的單片機(jī)編程思路 9849次閱讀
- 單片機(jī)延時(shí)程序基本知識匯總 2w次閱讀
- 單片機(jī)精確毫秒延時(shí)函數(shù) 1.1w次閱讀
- 51單片機(jī)的幾種精確延時(shí) 4480次閱讀
- 單片機(jī)編程之匯編語言基礎(chǔ)-常用指令和程序模式 1.5w次閱讀
- 單片機(jī)開發(fā)過程中硬件調(diào)試技巧 1.3w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多