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

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

3天内不再提示

浅析ESP8266定时器的计算周期与内存分布

云深之无迹 来源:云深之无迹 作者:云深之无迹 2022-07-10 09:59 次阅读

我上篇文章说了,我要写写ESP8266定时器。我们这里要加一个微秒:百万分之一秒,10(-6)次方。就使用到计算周期。

扯点关于时间的碎碎念。

老子说了,如果大道为零天道就是无穷小,人道就是无穷大:天道×人道=一,也就是“有” 所以才有的:“无中生有”。庄子强调的真的是无限分割么,你也太小看自己的老祖先了 老子的无从来也不是无,本来就是在强调无穷小的概念 而且早就有了无穷小的定义 天之道,损有余而补不足,天道指的就是无穷小 实质指的就是小到极限 无论是什么,小到极限仍然不是无,至少都有对大道(或者说0)的敬畏的存在。人之道,损不足以奉有余,看起来像是在强调无限,其实正好相反,人道强调的正是有界 或者说“度”。

首先ESP8266芯片内部有两个区:

IROM:internal rom 内部ROM,指的是集成到SoC内部的ROM

IRAM:internal ram 内部RAM,指的是集成到SoC内部的RAM

pYYBAGLKMqqAF9GrAABvEPlAL8U251.jpg

dram是动态内存,需要周期性的充电

poYBAGLKMrCAfx8YAAFiI4A4lms217.jpg

轮询就是CPU挨个问这些外设,你需要我服务吗?然后没人用的话,一会儿再来问一圈,但是这个处理的速度是很快的,所以这个实时性倒是还行。

对于需要轮询的应用这里建议使用定时器来计算,另外,定时器不要频繁的调用。微秒定时器如果是不精确的话,需要使用硬件的定时器,最重要的是ISR一定要短。

反正就是精确延时的话,就要使用硬件的定时器。

另外:毫秒是一种较为微小的时间单位,符号为ms,1秒 = 10分秒;1分秒 = 10厘秒;1厘秒 = 10 毫秒 ;1 毫秒 = 1000微秒;1微秒 = 1000纳秒;1纳秒 = 1000皮秒。典型照相机的最短曝光时间为一毫秒。

pYYBAGLKMriARwzUAADiwqmPjn8864.jpg

定时器的使能,但是ESP8266没有更多的技术资料,所以这个定时器到底是什么样的,其实这里我也不是很清楚。

poYBAGLKMr-AL80rAADVLwCIdNg972.jpg

这里是定时器回调函数的定义

pYYBAGLKMvCAPEz5AADIBNB-DLE476.jpg

这个是微秒级别的延时,最高的精度为500us

pYYBAGLKMviAJLIFAADQ_KNJiss482.jpg

硬件的ISR定时器的初始化的写法,最后的参数是要不要自动的装填。

poYBAGLKMv6ATMJ1AACqQicVNNI774.jpg

硬件中断定时器的写法

poYBAGLKMwSADpmlAACspCSmaaw686.jpg

定时器的回调函数一定不能写到Flash内部。

poYBAGLKMyKAV6yxAAD1l7hIJxw402.jpg
pYYBAGLKMyyAZymvAABpVOGkiv0055.jpg

硬件的定时器这样使用

poYBAGLKM0KAPvbaAACV3UYl0Nk203.jpg

这里我找到一个ESP32内存分布情况

ESP32 内部存储器(SRAM)的布局。SRAM 分为 3 个存储块 SRAM0、SRAM1 和SRAM2(以及 RTC 快速和慢速存储器 2 个小块).


SRAM 以两种方式使用:一种用于指令存储,称为 IRAM(用于执行代码,text 段),另一种用于数据存储,称为 DRAM(用作 BSS 段,Data 段和堆)。SRAM0 和 SRAM1 可以用作连续的 IRAM,而 SRAM1 和 SRAM2 可以用作连续的 DRAM 地址空间。

一般Non-SDK,是基于事件驱动的编程模型:

事件就是两个物体之间产生了交互行为,就可以成为一个事件。而事件驱动就是两个之间产生了交互行为,驱使两个物体的一方,做出了相应的行为或动作。

本来还能写,但是马上就12点了,下篇文章继续了。


审核编辑:刘清

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

    关注

    6

    文章

    762

    浏览量

    114584
  • 定时器
    +关注

    关注

    23

    文章

    3229

    浏览量

    114295
  • ESP8266
    +关注

    关注

    50

    文章

    962

    浏览量

    44743

原文标题:ESP8266定时器.上

文章出处:【微信号:TT1827652464,微信公众号:云深之无迹】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ESP8266之软件定时器学习

    ESP8266学习三软件定时器软件定时器不一定看可以成功得执行在CPU长期占用得情况下软件定时器不会执行;os_timer_t OS_TIMER_1; //定义
    发表于 02-28 06:30

    ESP8266系列模块选型

    ESP8266系列模块选型ESP8266 ESP-01 ESO-02
    发表于 01-05 17:34 37次下载

    esp8266,tcp通信实例详解

    ESP8266工作在station模式下,需确认ESP8266已经连接AP(路由)并分配到IP地址,启用client连接,ESP8266工作在soft-AP模式下,需确认连接
    发表于 11-04 10:14 4.3w次阅读
    <b class='flag-5'>esp8266</b>,tcp通信实例详解

    使用esp8266实现STM32联网(最简单USART方法)

    上一篇 esp8266怎么配置esp8266和USB转TTL连接esp8266简单介绍esp8266连接路由
    发表于 11-22 11:51 1.2w次阅读

    esp8266 at指令集详解

    ESP8266可广泛应用于智能电网、智能交通、智能家具、手持设备、工业控制等领域。本文介绍了esp8266 at指令集,以及ESP8266使用AT指令开发示例
    发表于 12-08 13:52 14.3w次阅读
    <b class='flag-5'>esp8266</b> at指令集详解

    ESP8266的管脚的控制和软件定时器的使用

    先说定时器ESP8266内部的定时器分为软件定时器和硬件定时器。手册中指出硬件定时器其实就跟单
    的头像 发表于 07-29 14:57 9405次阅读
    <b class='flag-5'>ESP8266</b>的管脚的控制和软件<b class='flag-5'>定时器</b>的使用

    怎样使用ESP8266 Flasher和Programmer烧写ESP8266 AT固件

    选择要连接的COM端口ESP8266 Flasher和Programmer + ESP8266 Wifi串行收发模块。将BAUDRATE设置为115200。
    的头像 发表于 11-18 17:58 2.1w次阅读

    ESP8266 wifi模块开发汇总

                                  ESP8266 wifi模块开发汇总 ESP8266 wifi模块开发汇总本文档主要介绍开发者在ESP8266开发中常见的一些问题。 这些
    发表于 11-05 19:21 188次下载
    <b class='flag-5'>ESP8266</b> wifi模块开发汇总

    ESP8266

    超低功耗。ESP8266EX 具有的省电模式适用于各种低功耗应用场景。3.高度集成ESP8266EX 集成了 32 位 Tensilica 处理、标准数字外设接口、天线开关、射频 balun...
    发表于 11-07 10:36 26次下载
    <b class='flag-5'>ESP8266</b>

    ESP8266学习之路——环境部署

    文章目录前言ESP8266SDK前言ESP8266SDK官方链接
    发表于 12-22 18:47 28次下载
    <b class='flag-5'>ESP8266</b>学习之路——环境部署

    ESP8266学习三

    ESP8266学习三软件定时器软件定时器不一定看可以成功得执行 在CPU长期占用得情况下软件定时器不会执行;os_timer_t OS_TIMER_1; //定义
    发表于 01-14 16:00 2次下载
    <b class='flag-5'>ESP8266</b>学习三

    ESP8266硬件

    目前市面上有关ESP8266模组有很多的种类,但是都是使用的乐鑫公司开发的ESP8266的wifi模组,而且种类也很多。
    的头像 发表于 02-10 14:25 4504次阅读
    <b class='flag-5'>ESP8266</b>硬件

    nodemcu和esp8266是什么关系?

    nodemcu和esp8266是什么关系 nodemcu和esp8266是什么关系?通俗理解就是nodemcu是一个开发板,基于esp8266的开发板。 目前市面上搭载有ESP8266
    的头像 发表于 10-20 14:53 3563次阅读
    nodemcu和<b class='flag-5'>esp8266</b>是什么关系?

    esp8266不烧录可以使用吗

    ,可以方便地与其他硬件设备进行连接。 2. ESP8266的硬件特性 处理 :Tensilica L106,最高频率160MHz 内存 :64KB SRAM,1MB Flash Wi-Fi :支持802.11 b/g/n协议,
    的头像 发表于 08-19 17:28 538次阅读

    esp8266esp32区别是什么

    以下是关于ESP8266ESP32的主要区别: 处理和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理
    的头像 发表于 08-19 18:16 3559次阅读