STM32延时函数的方法
1.普通延时法
这个比较简单,让单片机做一些无关紧要的工作来打发时间,经常用循环来实现,不过要做的比较精准还是要下一番功夫。
CM3 内核的处理器,内部包含了一个SysTick 定时器,SysTick 是一个24 位的倒计数定时器,当计到0 时,将从RELOAD寄存器中自动重装载定时初值。
延时函数delay的编写
原理:3层for循环,循环次数是 NUM = 4X5X248 = 4960次,由每次循环都有条件判断(如 i 》0)和自减语句(如 i--),因此每次循环又耗费两个机器周期
所以,总耗费的机器周期为 SUM = NUM x 2 = 9920个。
整合自:CSDN的沐白001、ZJE_ANDY
编辑:jq
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
处理器
+关注
关注
68文章
19286浏览量
229842 -
STM32
+关注
关注
2270文章
10900浏览量
356012 -
延时函数
+关注
关注
0文章
25浏览量
10018
发布评论请先 登录
相关推荐
实现一个ns级的延时函数,延时时间不可控的原因?
现在要实现一个ns级的延时函数,用nop指令已经调试完成,然而问题在于这个延时函数经常被中断,导致延时时间不可控,我在
发表于 06-26 06:50
如何使用定时器写一个延时函数?
不用中断,就是单纯一个用作延时函数,写了一个下午也没搞明白,可能我理解出错了
void delay_us(int us)
{
timer_config_t delay
发表于 06-14 06:03
函数发生器的常见故障及解决方法
函数发生器,作为电子测试和测量领域的重要工具,其稳定性和可靠性对于实验和测试结果的准确性至关重要。然而,由于各种原因,函数发生器在使用过程中可能会遇到各种故障。本文将详细介绍函数发生器的常见故障及其解决
使用STM32F030时,用wait函数的延时时间不对,为什么?
使用STM32F030时,发现用wait函数的延时时间不对,比正常速度快了6倍。在Mbed网站上发现,这个问题已经被记录下来,从Mbed的102版开始就有这个问题了。
发表于 05-11 08:33
求助,关于STM8延时函数的奇怪问题求解
自己写了个延时函数
void ps_Delay_ms(uint32_t dly)
{
uint32_t i = 0;
uint32_t j = 0;
for (j=0;j
发表于 05-10 06:18
STM8S延时问题怎么解决?
我的延时函数,本来很精准,100us的时候示波器测试没问题,但是在STLink设置中,勾选 擦除 命令后,延时函数就不准了,100us示波器中大概有133us的样子,有没有大神解释下是
发表于 05-07 08:20
Go语言中的函数、方法与接口详解
Go 没有类,不过可以为结构体类型定义方法。方法就是一类带特殊的接收者参数的函数。方法接收者在它自己的参数列表内,位于 func 关键字和方法
STM32蜂鸣器音乐播放实例教程
开启定时器TIM7,是为了写延时函数HAL_Delay_us()。具体过程请移步此文:STM32的HAL库实现自定义延时函数delay_us
发表于 03-26 14:19
•2201次阅读
在stm32f1xx_ll_utils.c中提供的延时函数,以下标红语句为什么要多加1呢?
在stm32f1xx_ll_utils.c中提供的延时函数,以下标红语句为什么要多加1呢?延时1ms不就变成2ms了吗?
void LL_mDelay(uint32_t Delay)
发表于 03-26 06:08
stm32中FREERTOS的延时函数osDelayUntil()死机的原因?
我在使用STM32F4跑freertos的时候发现一旦使用osDelayUntil()函数,就会死机,但是用osDelay()函数就不会,按理说不是都可以用的吗?有知道原因的吗,谢谢!
发表于 03-22 07:56
STM32L0使用延时函数使PWM波形移相,延时函数不起作用的原因?
使用的是STM32L0系列,准备使用延时函数使PWM波形移相,现在延时函数不起作用
delay.c函数
发表于 03-21 06:23
回调函数(callback)是什么?回调函数的实现方法
回调函数是一种特殊的函数,它作为参数传递给另一个函数,并在被调用函数执行完毕后被调用。回调函数通常用于事件处理、异步编程和处理各种操作系统和
发表于 03-12 11:46
•2943次阅读
STM32L0相对某一通道输出的PWM波进行移相,通过延时函数可以实现吗?
使用的是STM32L0系列,所用定时器没有互补输出功能,现在相对某一通道输出的PWM波进行移相,通过延时函数可以实现吗,或者还有别的啥办法
发表于 03-07 07:06
时间继电器通电延时与断电延时的区别
时间继电器通电延时与断电延时的区别 时间继电器是一种常用的控制设备,可用于各种延时应用。常见的时间继电器主要包括通电延时继电器和断电延时继
ROUND函数的使用方法
的使用方法,包括语法、参数、应用场景等方面的内容。 首先,我们来看一下ROUND函数的语法。在大多数编程语言中,ROUND函数通常采用如下的语法形式: ROUND(number, num_digits) 其中,number是要进
评论