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