STM32延时函数的方法
1.普通延时法
这个比较简单,让单片机做一些无关紧要的工作来打发时间,经常用循环来实现,不过要做的比较精准还是要下一番功夫。
2.SysTick 定时器延时
CM3 内核的处理器,内部包含了一个SysTick 定时器,SysTick 是一个24 位的倒计数定时器,当计到0 时,将从RELOAD寄存器中自动重装载定时初值。
延时函数delay的编写
原理:3层for循环,循环次数是 NUM = 4X5X248 = 4960次,由每次循环都有条件判断(如 i 》0)和自减语句(如 i--),因此每次循环又耗费两个机器周期
所以,总耗费的机器周期为 SUM = NUM x 2 = 9920个。
整合自:CSDN的沐白001、ZJE_ANDY
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关文章
51单片机C语言程序100例分析(1)IO+C语言+头文件(2022-12-07)
; //将i的值送P0口
delay();//调用延时函数
}
}
分析:这个现象还是很有趣的,这里通过在IO端口的停留来考验C语言的功底,以便往下的进行。
//实例11:用P0口显示逻辑"与......
NOP使用注意事项(2024-08-05)
。 __nop()函数我是在中找到的,但添加到C程序中会错误,直接引用__nop();就没有问题。
不同的内核NOP延时函数不相同。
......
51单片机学习笔记(一):LED(2023-01-06)
.h"sbit LED1=P2^0;void main(){
LED1=0;
while(1);}
设定P2.0管脚为低电平即可让连接在P2.0的LED发光。
二、延时函数
如果要让LED......
LED闪烁(2024-08-16)
的引脚一个高电平。关键是怎么让灯亮一会不亮了 ,这个怎么控制,我最开始的思路是类似c语言里面的sleep函数,也不知道有没有。视频里面的做法是做一个延时函数,就是做一个消耗时间的函数。
看下......
单片机点灯(点亮、闪烁、流水灯)(2023-01-12)
上基本与点亮LED灯工作原理相同。
自定义一个延时函数。
主函数先点亮灯,在调用延时函数,在熄灭灯,然后在调用延时函数,将这些放入循环一直执行。完成
代码
#include "reg52.h"
typedef......
汇编写51单片机之循环点亮LED(2023-01-11)
过他是跳回到D1这里,所以他又回到d1那里,不断的重复。
RET ;这个是函数的返回,表示结束这个函数。
我写一段c语言的代码来表示这个汇编里面的延时函数吧,不然怕你们看不懂。
public void......
蜂鸣器类代码(2024-08-15)
蜂鸣器类代码;/*
标题:蜂鸣器的使用
电路:P1.0口接P11
*/
#include 'sys.h'//包含延时函数头文件
#include
#include 'beep1.h'
sbit......
单片机STC12C5A60S2控制AT24C04的程序(C语言)(2023-06-25)
(); //停止信号
}
/**************************************
延时5微秒(STC12C5A60S2@12M)
不同的工作环境,需要调整此函数
此延时函数......
我也玩单片机:流水灯(2024-08-19)
}25 }
2、分析
1、延时
这里的延时函数使用了双重循环:可以凑成整数单位,使输入参数更直观。
2、位移动
aa=_crol_(aa,1);
这是什么函数?其实,效果跟aa>>=1......
【STM32】一种基于Cortex-M内核的精确延时方法(2023-03-24)
寄存器使能,并设置其最高位表示1个时钟周期为1ns。
2.2 实现延时函数
对于精确的延时函数,可以采用以下步骤:
1. 获取当前的计数器值,并加上延时的时钟周期数,得到目标值。2. 循环......