0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺析ESP8266定時(shí)器的計(jì)算周期與內(nèi)存分布

云深之無跡 ? 來源:云深之無跡 ? 作者:云深之無跡 ? 2022-07-10 09:59 ? 次閱讀

我上篇文章說了,我要寫寫ESP8266定時(shí)器。我們這里要加一個(gè)微秒:百萬分之一秒,10(-6)次方。就使用到計(jì)算周期。

扯點(diǎn)關(guān)于時(shí)間的碎碎念。

老子說了,如果大道為零天道就是無窮小,人道就是無窮大:天道×人道=一,也就是“有” 所以才有的:“無中生有”。莊子強(qiáng)調(diào)的真的是無限分割么,你也太小看自己的老祖先了 老子的無從來也不是無,本來就是在強(qiáng)調(diào)無窮小的概念 而且早就有了無窮小的定義 天之道,損有余而補(bǔ)不足,天道指的就是無窮小 實(shí)質(zhì)指的就是小到極限 無論是什么,小到極限仍然不是無,至少都有對(duì)大道(或者說0)的敬畏的存在。人之道,損不足以奉有余,看起來像是在強(qiáng)調(diào)無限,其實(shí)正好相反,人道強(qiáng)調(diào)的正是有界 或者說“度”。

首先ESP8266芯片內(nèi)部有兩個(gè)區(qū):

IROM:internal rom 內(nèi)部ROM,指的是集成到SoC內(nèi)部的ROM

IRAM:internal ram 內(nèi)部RAM,指的是集成到SoC內(nèi)部的RAM

pYYBAGLKMqqAF9GrAABvEPlAL8U251.jpg

dram是動(dòng)態(tài)內(nèi)存,需要周期性的充電

poYBAGLKMrCAfx8YAAFiI4A4lms217.jpg

輪詢就是CPU挨個(gè)問這些外設(shè),你需要我服務(wù)嗎?然后沒人用的話,一會(huì)兒再來問一圈,但是這個(gè)處理的速度是很快的,所以這個(gè)實(shí)時(shí)性倒是還行。

對(duì)于需要輪詢的應(yīng)用這里建議使用定時(shí)器來計(jì)算,另外,定時(shí)器不要頻繁的調(diào)用。微秒定時(shí)器如果是不精確的話,需要使用硬件的定時(shí)器,最重要的是ISR一定要短。

反正就是精確延時(shí)的話,就要使用硬件的定時(shí)器。

另外:毫秒是一種較為微小的時(shí)間單位,符號(hào)為ms,1秒 = 10分秒;1分秒 = 10厘秒;1厘秒 = 10 毫秒 ;1 毫秒 = 1000微秒;1微秒 = 1000納秒;1納秒 = 1000皮秒。典型照相機(jī)的最短曝光時(shí)間為一毫秒。

pYYBAGLKMriARwzUAADiwqmPjn8864.jpg

定時(shí)器的使能,但是ESP8266沒有更多的技術(shù)資料,所以這個(gè)定時(shí)器到底是什么樣的,其實(shí)這里我也不是很清楚。

poYBAGLKMr-AL80rAADVLwCIdNg972.jpg

這里是定時(shí)器回調(diào)函數(shù)的定義

pYYBAGLKMvCAPEz5AADIBNB-DLE476.jpg

這個(gè)是微秒級(jí)別的延時(shí),最高的精度為500us

pYYBAGLKMviAJLIFAADQ_KNJiss482.jpg

硬件的ISR定時(shí)器的初始化的寫法,最后的參數(shù)是要不要自動(dòng)的裝填。

poYBAGLKMv6ATMJ1AACqQicVNNI774.jpg

硬件中斷定時(shí)器的寫法

poYBAGLKMwSADpmlAACspCSmaaw686.jpg

定時(shí)器的回調(diào)函數(shù)一定不能寫到Flash內(nèi)部。

poYBAGLKMyKAV6yxAAD1l7hIJxw402.jpg
pYYBAGLKMyyAZymvAABpVOGkiv0055.jpg

硬件的定時(shí)器這樣使用

poYBAGLKM0KAPvbaAACV3UYl0Nk203.jpg

這里我找到一個(gè)ESP32內(nèi)存分布情況

ESP32 內(nèi)部存儲(chǔ)器(SRAM)的布局。SRAM 分為 3 個(gè)存儲(chǔ)塊 SRAM0、SRAM1 和SRAM2(以及 RTC 快速和慢速存儲(chǔ)器 2 個(gè)小塊).


SRAM 以兩種方式使用:一種用于指令存儲(chǔ),稱為 IRAM(用于執(zhí)行代碼,text 段),另一種用于數(shù)據(jù)存儲(chǔ),稱為 DRAM(用作 BSS 段,Data 段和堆)。SRAM0 和 SRAM1 可以用作連續(xù)的 IRAM,而 SRAM1 和 SRAM2 可以用作連續(xù)的 DRAM 地址空間。

一般Non-SDK,是基于事件驅(qū)動(dòng)的編程模型:

事件就是兩個(gè)物體之間產(chǎn)生了交互行為,就可以成為一個(gè)事件。而事件驅(qū)動(dòng)就是兩個(gè)之間產(chǎn)生了交互行為,驅(qū)使兩個(gè)物體的一方,做出了相應(yīng)的行為或動(dòng)作。

本來還能寫,但是馬上就12點(diǎn)了,下篇文章繼續(xù)了。


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • sram
    +關(guān)注

    關(guān)注

    6

    文章

    762

    瀏覽量

    114600
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3234

    瀏覽量

    114363
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    962

    瀏覽量

    44766

原文標(biāo)題:ESP8266定時(shí)器.上

文章出處:【微信號(hào):TT1827652464,微信公眾號(hào):云深之無跡】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ESP8266之軟件定時(shí)器學(xué)習(xí)

    ESP8266學(xué)習(xí)三軟件定時(shí)器軟件定時(shí)器不一定看可以成功得執(zhí)行在CPU長(zhǎng)期占用得情況下軟件定時(shí)器不會(huì)執(zhí)行;os_timer_t OS_TIMER_1; //定義
    發(fā)表于 02-28 06:30

    ESP8266系列模塊選型

    ESP8266系列模塊選型ESP8266 ESP-01 ESO-02
    發(fā)表于 01-05 17:34 ?37次下載

    esp8266,tcp通信實(shí)例詳解

    ESP8266工作在station模式下,需確認(rèn)ESP8266已經(jīng)連接AP(路由)并分配到IP地址,啟用client連接,ESP8266工作在soft-AP模式下,需確認(rèn)連接
    發(fā)表于 11-04 10:14 ?4.3w次閱讀
    <b class='flag-5'>esp8266</b>,tcp通信實(shí)例詳解

    使用esp8266實(shí)現(xiàn)STM32聯(lián)網(wǎng)(最簡(jiǎn)單USART方法)

    上一篇 esp8266怎么配置esp8266和USB轉(zhuǎn)TTL連接esp8266簡(jiǎn)單介紹esp8266連接路由
    發(fā)表于 11-22 11:51 ?1.2w次閱讀

    esp8266 at指令集詳解

    ESP8266可廣泛應(yīng)用于智能電網(wǎng)、智能交通、智能家具、手持設(shè)備、工業(yè)控制等領(lǐng)域。本文介紹了esp8266 at指令集,以及ESP8266使用AT指令開發(fā)示例
    發(fā)表于 12-08 13:52 ?14.3w次閱讀
    <b class='flag-5'>esp8266</b> at指令集詳解

    ESP8266的管腳的控制和軟件定時(shí)器的使用

    先說定時(shí)器ESP8266內(nèi)部的定時(shí)器分為軟件定時(shí)器和硬件定時(shí)器。手冊(cè)中指出硬件定時(shí)器其實(shí)就跟單
    的頭像 發(fā)表于 07-29 14:57 ?9427次閱讀
    <b class='flag-5'>ESP8266</b>的管腳的控制和軟件<b class='flag-5'>定時(shí)器</b>的使用

    怎樣使用ESP8266 Flasher和Programmer燒寫ESP8266 AT固件

    選擇要連接的COM端口ESP8266 Flasher和Programmer + ESP8266 Wifi串行收發(fā)模塊。將BAUDRATE設(shè)置為115200。
    的頭像 發(fā)表于 11-18 17:58 ?2.1w次閱讀

    ESP8266 Nodemcu學(xué)習(xí)心得②

    ESP8266 Nodemcu學(xué)習(xí)心得②一、庫(kù)函數(shù)記錄二、代碼學(xué)習(xí)1、創(chuàng)建一個(gè)網(wǎng)絡(luò)服務(wù)一、庫(kù)函數(shù)記錄ESP8266WebServer esp8266_server(80);// 括號(hào)
    發(fā)表于 10-25 11:36 ?14次下載
    <b class='flag-5'>ESP8266</b> Nodemcu學(xué)習(xí)心得②

    ESP8266 wifi模塊開發(fā)匯總

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ESP8266 wifi模塊開發(fā)匯總?ESP8266 wifi模塊開發(fā)匯總本文檔主要介紹開發(fā)者在ESP8266開發(fā)中常見的一些問題。 這些
    發(fā)表于 11-05 19:21 ?188次下載
    <b class='flag-5'>ESP8266</b> wifi模塊開發(fā)匯總

    ESP8266

    超低功耗。ESP8266EX 具有的省電模式適用于各種低功耗應(yīng)用場(chǎng)景。3.高度集成ESP8266EX 集成了 32 位 Tensilica 處理、標(biāo)準(zhǔn)數(shù)字外設(shè)接口、天線開關(guān)、射頻 balun...
    發(fā)表于 11-07 10:36 ?26次下載
    <b class='flag-5'>ESP8266</b>

    ESP8266學(xué)習(xí)之路——環(huán)境部署

    文章目錄前言ESP8266SDK前言ESP8266SDK官方鏈接
    發(fā)表于 12-22 18:47 ?28次下載
    <b class='flag-5'>ESP8266</b>學(xué)習(xí)之路——環(huán)境部署

    ESP8266學(xué)習(xí)三

    ESP8266學(xué)習(xí)三軟件定時(shí)器軟件定時(shí)器不一定看可以成功得執(zhí)行 在CPU長(zhǎng)期占用得情況下軟件定時(shí)器不會(huì)執(zhí)行;os_timer_t OS_TIMER_1; //定義
    發(fā)表于 01-14 16:00 ?2次下載
    <b class='flag-5'>ESP8266</b>學(xué)習(xí)三

    ESP8266硬件

    目前市面上有關(guān)ESP8266模組有很多的種類,但是都是使用的樂鑫公司開發(fā)的ESP8266的wifi模組,而且種類也很多。
    的頭像 發(fā)表于 02-10 14:25 ?4557次閱讀
    <b class='flag-5'>ESP8266</b>硬件

    esp8266不燒錄可以使用嗎

    ,可以方便地與其他硬件設(shè)備進(jìn)行連接。 2. ESP8266的硬件特性 處理 :Tensilica L106,最高頻率160MHz 內(nèi)存 :64KB SRAM,1MB Flash Wi-Fi :支持802.11 b/g/n協(xié)議,
    的頭像 發(fā)表于 08-19 17:28 ?581次閱讀

    esp8266esp32區(qū)別是什么

    以下是關(guān)于ESP8266ESP32的主要區(qū)別: 處理和架構(gòu) : ESP8266 :使用一個(gè)Tensilica L106 80MHz的處理
    的頭像 發(fā)表于 08-19 18:16 ?3907次閱讀