0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32延时函数的方法

ss 来源:CSDN的沐白001、ZJE_ANDY 作者:CSDN的沐白001、ZJ 2021-10-02 16:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    20154

    浏览量

    247473
  • STM32
    +关注

    关注

    2305

    文章

    11124

    浏览量

    371252
  • 延时函数
    +关注

    关注

    0

    文章

    25

    浏览量

    10326
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Cortex-M内核中的精确延时方法

    为什么要学习这种延时方法? 很多时候我们跑操作系统,就一般会占用一个硬件定时器——SysTick,而我们一般操作系统的时钟节拍一般是设置100-1000HZ,也就是1ms——10ms产生一次中断
    发表于 11-21 07:51

    使用系统定时器SysTick来实现精确延时微秒和毫秒函数

    内核MCU之间,可以很方便的实现。而东芝的这款TT_M3HQ开发板使用的TMPM3HQFDFG芯片,正好是ARM Cortex-M3内核,所以以前使用的延时函数,可以直接拿过来使用,无需任何修改
    发表于 11-20 07:12

    第4章 C语言基础以及流水灯的实现(4.7 4.8)

    的范围值来改变延时时间,但是循环的执行时间都是不能通过程序看出来的。 精确延时有两个方法,一个方法是用定时器来延时,这个
    的头像 发表于 11-19 17:20 512次阅读
    第4章 C语言基础以及流水灯的实现(4.7 4.8)

    探头的延时介绍

    探头的延时是指信号从被测点传输到示波器输入端的时间间隔,即信号经过探头的探针、传输电缆、内部电路等路径后,到达示波器采样系统的总时间延迟,(以下讨论低速信号情景,忽略示波器通道间ps级的延时误差)。不同型号的探头延时存在差异,尤
    的头像 发表于 09-17 17:32 664次阅读
    探头的<b class='flag-5'>延时</b>介绍

    在rtthread的main函数里用HAL_Delay函数不起作用是哪里的问题?

    在rtthread的main函数里用HAL_Delay函数无效,我设置延时500ms打印一次,但是实际上,一秒打印了几百次,很显然是HAL_Delay出现了问题。用RT_thread_mdelay
    发表于 09-15 07:53

    Linux修改uboot启动延时方法详细攻略,触觉智能RK3568开发板演示

    本文介绍Linux系统修改uboot启动延时方法,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持开源鸿蒙
    的头像 发表于 06-06 18:07 685次阅读
    Linux修改uboot启动<b class='flag-5'>延时方法</b>详细攻略,触觉智能RK3568开发板演示

    STM32F030内部晶振怎么设置,内部晶振是延时函数怎么设置?

    STM32F030内部晶振怎么设置,内部晶振是延时函数怎么设置 使用STM32F030时没使用内部晶振怎么设置,使用内部晶振时延时
    发表于 04-23 07:45

    解锁TSMaster fifo函数:报文读取的高效方法

    前言:TSMaster目前有两种读取报文的模式:回调函数模式和fifo模式。fifo函数是TSMaster近期新增的函数,本文将重点介绍fifo模块。关于回调函数的使用
    的头像 发表于 03-14 20:04 961次阅读
    解锁TSMaster fifo<b class='flag-5'>函数</b>:报文读取的高效<b class='flag-5'>方法</b>

    使用SysTick_Config函数延时函数,显示SysTick_Config无法被调用如何解决?

    使用SysTick_Config函数延时函数,但显示SysTick_Config无法被调用,怎么解决呢?
    发表于 03-12 06:56

    STM32CUBEide有没有像KEIL一样可以自己指定函数注释模板的方法

    最近从keil转到CUBEIDE编程了,现在非常不舒服的一点是函数注释方面。STM32CUBEide有没有像KEIL一样可以自己指定函数注释模板的方法,可以注释
    发表于 03-11 08:06

    stm32f4 sdio时钟如何获取通过什么函数

    stm32f4系列sdio 时钟如何获取,stm32h7可以通过sdmmc_clk=HAL_RCCEx_GetPeriphCLKFreq(STM32_RCC_PERIPHCLK_SDMMC);这个
    发表于 03-07 08:26

    使用STM32F030时没使用内部晶振怎么设置,使用内部晶振时延时函数怎么写?

    STM32F030内部晶振怎么设置,内部晶振是延时函数怎么设置 使用STM32F030时没使用内部晶振怎么设置,使用内部晶振时延时
    发表于 03-07 08:13

    STM32C031C6在按键中断处理程序中使用HAL_Delay()延时函数,程序则无法运行怎么解决?

    测试STM32C031C6开发板的长短按键,在按键中断处理程序中使用HAL_Delay()延时函数,程序则无法运行,类似进入了死循环,于是则添加了延时
    发表于 03-07 06:50

    延时继电器的工作原理和接线方法

    延时继电器作为一种在电气系统中广泛应用的控制元件,具有在电路中实现定时闭合或断开控制的重要功能。通过引入延时功能,对电路系统的精确控制和管理,适应不同的应用场景和需求,提高生产效率、降低
    的头像 发表于 02-07 16:09 2867次阅读

    延时继电器功能汇总与应用

    延时继电器是一种在电气系统中广泛应用的控制元件,在电路中实现定时闭合或断开控制,为各种应用场景提供灵活的时间管理功能。 通常,聚英延时继电器由一个控制电压引发,该控制电压可以是任何符合电器设备功能
    的头像 发表于 01-17 16:03 1191次阅读