• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32中有没有延时的库函数

liangeeg 2018-11-28 浏览量:2145
stm32的库函数中有没有精确的延时函数,想直接用库函数操作
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 我用标准外设库,需要将systick功能自己封装为一个函数使用,网上很多,建议直接看原子的例程
    • 发布于 2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:22
  • 使用HAL库,就有精确的MS延时,可以使用CubeMX软件生成工程

    如果使用标准库,那就只有自己写延时了

    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 2
    • 0

  • HAL库有精确到毫秒的延时HAL_Delay()

    它是利用SYSTICK实现的

    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 有的,就是用滴答定时器做延时函数的,如果用操作系统就要用操作系统的延时函数
    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以使用hal库

    HAL_Delay 延时

    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 我建议自己编写延时函数.这样比较好控制.
    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • HAL库有延时函数;标准库可以用定时器或滴答器延时。
    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 这类基础的函数当然有了,HAL_Delay就是,当然也可以自己写
    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 固件库中是没有延时函数的,但是可以使用滴答定时器或者是外设定时器进行计时延时,比较精确的。一下是407上的寄存器版本延时函数。

    void delay_us(u32 us)
    {
    SysTick->CTRL &=~(0x1<<2); //选择时钟(外部的时钟)
    SysTick->LOAD = 21*us;  //写入自动重装载值 (21/21000000 = 1us)
    SysTick->VAL=0; //清空当前数值寄存器
    SysTick->CTRL |=(0x1<<0); //打开定时器开始递减计数
    while((SysTick->CTRL & (1<<16))==0); //等待当前数值计数器递减到0
    SysTick->CTRL &=(0x1<<0); //等待完成以后一次滴答计时结束关闭定时器
    }

    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • hal 库里面有延时函数,HAL_Delay()  延时单位是 ms。

    hal 库中自带一个timer 实现的,没有RTOS 的话,hal 延时就是用的 systick 时钟

    参考这一片文章,有人分析过:

    //www.icxbk.com/article/detail?aid=284

    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 在使用HAL库时,是有一个HAL_delay的函数是延时用的
    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • HAL库里有HAL_Delay。是使用systick时钟实现的,固定毫秒级延时,微秒级的得自己实现
    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 试试原子的例程吧,还有视频讲解!
    • 发布于2018-11-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果有能力最好自己编写
    • 发布于2018-11-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 有,HAL_Delay()就是,延时1毫秒。

    • 发布于2018-11-30
    • 举报
    • 评论 0
    • 0
    • 0

  • HAL库有HAL_Delay()函数延时。
    • 发布于2018-11-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 需要使用HAL 的HAL_Delay()函数
    • 发布于2018-12-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 有的,有一个HAL_Delay()函数
    • 发布于2018-12-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32中有没有延时的库函数