资料介绍
单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时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单片机的编程方式一样吗? 1200次阅读
- STM32单片机常用库函数详细介绍与程序 3755次阅读
- Systick定时器延时原理与HAL_Delay()延时函数的使用 1.3w次阅读
- 51单片机的汇编程序库 9414次阅读
- STM32单片机中OBG调试接口的介绍 5373次阅读
- 单片机按键扫描程序和显示程序及延时程序解析 4176次阅读
- 浅析STM32调试过程中的几个相关问题 5228次阅读
- 单片机调试过程中的调试组件导致的问题 7261次阅读
- 基于STM32单片机的功能及特点 4.9w次阅读
- 一个比较有效的单片机编程思路 9849次阅读
- 单片机延时程序基本知识汇总 2w次阅读
- 单片机精确毫秒延时函数 1.1w次阅读
- 51单片机的几种精确延时 4480次阅读
- 单片机编程之汇编语言基础-常用指令和程序模式 1.5w次阅读
- 单片机开发过程中硬件调试技巧 1.3w次阅读
下载排行
本周
- 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次下载 | 免费
评论
查看更多