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

延时函数延时时间怎么算

晓峰残月 2019-04-26 浏览量:1865
怎么确定一个延时函数的延时时间
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个需要看延时函数到底怎么实现的延时。

    总的延时时间是函数内部指令机器时间的总和,一般涉及

    函数调用时间+

    函数自身初始化语句时间+

    计数次数*(单次循环时间)+

    函数清除返回时间

    • 发布于 2019-04-26
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:6
  • 具体不知道你用的是什么开发环境,我就说一下我自己的吧。

    keil4,首先配置一下晶振的频率,然后在debug模式下,左边栏目中有个sec项,在需要看的程序段两端分别打两个断点,记录下每个断点所对应的时刻,然后两个时刻的差值就是运行时间,单位是秒

    • 发布于2019-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以进去调试模式,在延时函数的前后打上断点,配置好时钟,然后左边的窗口可以看到时间变化,计算时间差就是延时时间,如果需要精确延时最好用系统延时函数,也就是嘀嗒定时器延时,这个延时函数很准
    • 发布于2019-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 看你使用什么方法延时了,如果是使用 for 循环内的 nop 实现,那就算算指令周期,算算核心工作频率,多少指令,多少时钟周期,占用多少时间。

    如果调用 timer ,就算算 timer 中断时间。如果调用 osDealy ,看看 这个函数说明

    • 发布于2019-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 调试模式,直接看运行时间,不用算,快速便捷
    • 发布于2019-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 通过主频计算出一个空指令的时间,再进行循环,不过只是一个大约的时间,具体的,还是要通过仿真测量才可以
    • 发布于2019-04-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 你可以点击编辑环境中的放大镜图标,在左边会弹出显示栏,sys下sec就是延时时间(要通过设置断点),你可以改变函数中变量值大概地调出需要的时间。晶振频率不同自然在相同参数的情况下得出延时时间不同。另外如果你确实需要得到一个比较精准的延时时间,建议你采用定时/计数器
    • 发布于2019-04-29
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

延时函数延时时间怎么算