今天室友在使用stm32的时候发现一个很有趣的现象,使用库函数中的delay_ms()函数,设置成延时1s是可以的,但是设置成2s的时候发现延迟根本不是2s。
后来我仔细看了一下延时函数,找到了原因。
首先我们知道系统时钟频率为72MHz,如下图所示:

然后在delay.c中找到delay_init()函数,可以看到外部始终频率分频为系统时钟的1/8,即72/8 = 9MHz,如下图所示:

然后找到delay_ms()函数,可以看到时钟加载值最大为2^24个tick,然后逐步减到0时重新计数。如下图所示:

所以经过计算,最大的延时时间
t m a x = 2 24 ∗ 1 / ( 9 ∗ 1 0 9 ) = 1.864135 ( s ) t_{max} = 2^{24} * 1/(9*10^9) = 1.864135(s) tmax​=224∗1/(9∗109)=1.864135(s),也就是说,最大延时时间约为1.8641s,设置2s的延时是不准确的。

stm32f103为什么不能延迟2秒相关推荐

  1. 单片机设置12分频c语言,AT89C51单片机,如何实现延迟一秒

    满意答案 爱在身边lovely 2013.09.07 采纳率:59%    等级:12 已帮助:7408人 其实可以用C语言实现的,先要定义好定时器的初值 不管你使用多大的晶振,使用51单片机,一般都 ...

  2. php 第一次创建文件时延迟4秒 sleep用法

    /**     ** @name  彩票种类     *  @uid   帐号uid     *  @token     *  @以上参数,付费就有了,这种接口不支持测试,主要获取重庆时时彩最近十条的 ...

  3. js如何让方法在延迟两秒后执行

    var int=self.setInterval(function(){  // 这个方法是说在延迟两秒后执行大括号里的方法       location.reload();   // 这个方法是刷新 ...

  4. 超简单JS延迟5秒加载方法代码

    JS延迟5秒加载方法 setTimeout( function(){ //add your code }, 5 * 1000 ); //延迟5000毫米 5000等于5秒哦

  5. Activity.onStop() 延迟10秒?堪称精彩绝伦的排查历程

    作者:唐子玄 前言 线上 App 某个版本之后,服务端同学从埋点数据中发现一个奇怪的现象:"所有界面的 Activity.onPause() 过后,得等 10 秒整,才回调 Activity ...

  6. godot如何延迟几秒执行事件

    yield(get_tree().create_timer(2),"timeout") #执行内容 #create_timer(2) 是延迟2秒

  7. 诚之和:JavaScript setTimeout() – 延迟 N 秒的 JS 计时器

    你有没有想过是否有一种方法可以让你的 JavaScript 代码延迟几秒钟?在本文中,我将setTimeout()通过代码示例解释该方法是什么以及它与setInterval(). 什么是setTime ...

  8. js 延迟几秒执行_深入研究 Node.js 的回调队列

    队列是 Node.js 中用于有效处理异步操作的一项重要技术. 在本文中,我们将深入研究 Node.js 中的队列:它们是什么,它们如何工作(通过事件循环)以及它们的类型. Node.js 中的队列是 ...

  9. .Net框架集WebClient类向WinCE平台上传文件(FTP方式)延迟15秒释疑

    年前在做嵌入式组态时,有一个组态下载功能,该功能就是采用FTP上传功能把组态配置文件上传到触摸屏(WinCE4.2平台,已开FTP服务器)中的.所用到的指令就是WebClient类的UploadFil ...

最新文章

  1. MATLAB_10-模式识别_
  2. 皮一皮:听说这门专业挺难学...
  3. 计算特征数据matlab代码,科学网—MATLAB特征提取代码 - 蒋样明的博文
  4. mysql数据库英文句子翻译_MySQL文档翻译(八)附英文原文---性能优化概览
  5. P2756,ssl2601-飞行员配对问题【网络流24题,最大匹配,dinic】
  6. 学生上课睡觉班主任怎么处理_【师问师答】学生上课说话,点名批评还嘴怎么办?...
  7. 年轻人应该买房还是租房,我给你理性分析
  8. 五款热门Android手机性能测试 Nexus S大胜
  9. c语言中同级运算符的运算顺序,二 如何学习C语言的运算符和运算顺序
  10. 存储基础(VG、LV、LP、PV、PP)
  11. java jdbc连接字符串加密,Java JDBC连接数据库字符串大全
  12. 75道程序员面试逻辑思维题
  13. 左耳朵耗子:云原生时代的开发者应具备这5大能力
  14. 补全Windows10中的emoji 替换系统emoji字体
  15. 元学习算法MAML论文详解
  16. Cause: java.io.IOException: Could not find resource com/itheima/po/CustomerMapper.xml
  17. 移动硬盘插上电脑卡住_插入移动硬盘死机故障分析及解决方案(图文详解)
  18. 影响网站排名的几大因素
  19. 金蝶K/3 ERP 基于Citrix Access Gateway 的SSL ××× 部署方案
  20. python爬取所有页url_Python 如何爬取相同url下,多个页面的链接内容

热门文章

  1. 门磁传感器到底有什么作用?智汀门磁传感器的原理和使用方法
  2. Oracle必备知识
  3. 华南理工大学计算机研究生复试机试复习
  4. 雷建平搜狐号创作者大会演讲:成为互联网产业的记录者
  5. 资料打印不用再跑文印店,网上打印省时省力
  6. php提取视频中的音频-ffmpeg
  7. 适合Python 的5大练手项目,你练了么?
  8. 华为 系统升级 服务器,服务器系统升级
  9. 用java在redis中存储对象
  10. 2019年全国省市区代码Oracle数据库脚本