在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

單片機(jī)愛(ài)好者 ? 來(lái)源:LONG ? 2019-07-29 14:57 ? 次閱讀

這一節(jié)主要有兩部分內(nèi)容:1、管腳的控制;2、軟件定時(shí)器的使用。

先說(shuō)定時(shí)器,ESP8266內(nèi)部的定時(shí)器分為軟件定時(shí)器和硬件定時(shí)器。手冊(cè)中指出硬件定時(shí)器其實(shí)就跟單片機(jī)里的timer一樣,而軟件定時(shí)器純粹由軟件實(shí)現(xiàn),咱們可以理解為單片機(jī)里面類似for循環(huán)之類的循環(huán)延時(shí)函數(shù)。

定時(shí)器理解了,管腳控制就簡(jiǎn)單了,先上一下我這里的模塊原理圖:

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

原理很簡(jiǎn)單,板上有一個(gè)三色的LED,所以這里實(shí)現(xiàn)一個(gè)定時(shí)實(shí)現(xiàn)LED開(kāi)關(guān)的程序。先說(shuō)GPIO的用法,分倆步。使用之前包含“user_interface.h”文件:

1、設(shè)置管腳為普通的GPIO模式

PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);

函數(shù)PIN_FUNC_SELECT的功能是選擇管腳功能,第一個(gè)參數(shù)是管腳的名字,第二個(gè)參數(shù)看起來(lái)像管腳編號(hào),但其實(shí)是管腳對(duì)應(yīng)的功能。

在編譯器中選中FUNC_GPIO12,按F3,會(huì)打開(kāi)eagle_soc.h文件,在這個(gè)文件里你會(huì)發(fā)現(xiàn),無(wú)論是FUNC_GPIO12,F(xiàn)UNC_GPIO13,還是多少,對(duì)應(yīng)的宏定義都是3:

#define FUNC_GPIO12 3

2、設(shè)置管腳方向和電平

gpio_output_set(BIT12, BIT13, BIT12|BIT13, 0):

該函數(shù)的功能是設(shè)置GPIO屬性,共有四個(gè)參數(shù),沒(méi)有用到的填0即可。

第一個(gè)參數(shù),設(shè)置輸出為高的位;

第二個(gè)參數(shù),設(shè)置輸出為低的位;

第三個(gè)參數(shù),設(shè)置使能輸出的管腳;

第四個(gè)參數(shù),設(shè)置使能輸入的管腳。

所以上面一行代碼的意思是:設(shè)置GPIO12和GPIO13為輸出,12輸出高,13輸出低。同理,下面一行代碼的意思是:設(shè)置GPIO12為輸入。

gpio_output_set(0, 0, 0, BIT12):

注:參考手冊(cè)2c-esp8266_sdk_api_guide_cn_v1.5.4的152頁(yè)。

然后是軟件定時(shí)器的使用,使用之前包含如下兩個(gè)頭文件:

#include "ets_sys.h" //內(nèi)有timer結(jié)構(gòu)體的定義

#include "osapi.h"

使用方法也很簡(jiǎn)單,共分四步:

1、定義一個(gè)軟件定時(shí)器的結(jié)構(gòu)體

os_timer_t LED_timer; //定義一個(gè)軟件定時(shí)器的結(jié)構(gòu)體,用于實(shí)現(xiàn)周期操作

2、關(guān)掉該定時(shí)器的定時(shí)功能

os_timer_disarm(&LED_timer); //配置之前,先關(guān)閉

3、設(shè)置該定時(shí)器的回調(diào)函數(shù)。使用定時(shí)器,必須設(shè)置回調(diào)函數(shù)

os_timer_setfn(&LED_timer, (os_timer_func_t *)LED_TURN, NULL);

該函數(shù)共有三個(gè)參數(shù):

第一個(gè),你要設(shè)置哪個(gè)定時(shí)器?LED_timer

第二個(gè),定時(shí)器定時(shí)時(shí)間到了之后,要執(zhí)行哪個(gè)函數(shù):LED_TURN

第三個(gè),回調(diào)函數(shù)的參數(shù),沒(méi)有的話寫(xiě)NULL即可。

完了,也很簡(jiǎn)單。等等!定時(shí)的時(shí)長(zhǎng)是多少?別急。

4、使能定時(shí)器,并設(shè)置時(shí)長(zhǎng),是否循環(huán)執(zhí)行

os_timer_arm(&LED_timer, 3000, 1);

該函數(shù)共有三個(gè)參數(shù):

第一個(gè),你要使能哪個(gè)定時(shí)器? LED_timer

第二個(gè),時(shí)長(zhǎng)多長(zhǎng)? 3000,單位是毫秒。另有微秒的函數(shù),可自行研究。

第三個(gè),這三秒定時(shí)的功能只運(yùn)行一次,還是循環(huán)執(zhí)行?1,循環(huán);0,一次。

第三步里,提到了一個(gè)函數(shù)LED_TURN,這個(gè)函數(shù)就是開(kāi)啟或關(guān)閉LED的函數(shù):

void LED_TURN()

{

static state_flag = 0;

if(state_flag == 0)

{

//GPIO12拉高,GPIO13拉低

gpio_output_set(BIT12, BIT13, BIT12|BIT13, 0);

state_flag = 1;

}

else

{

gpio_output_set(BIT13, BIT12, BIT12|BIT13, 0);

state_flag = 0;

}

}

到此,軟件定時(shí)器的用法說(shuō)完了。

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

    關(guān)注

    6040

    文章

    44594

    瀏覽量

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

    關(guān)注

    23

    文章

    3254

    瀏覽量

    115075
  • 管腳
    +關(guān)注

    關(guān)注

    1

    文章

    228

    瀏覽量

    32070

原文標(biāo)題:ESP8266_04管腳控制與軟件定時(shí)器

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ESP8266 太空人動(dòng)畫(huà)的 OLED 顯示

    ESP8266 太空人動(dòng)畫(huà)的 OLED 顯示
    的頭像 發(fā)表于 10-08 15:06 ?311次閱讀
    <b class='flag-5'>ESP8266</b> 太空人動(dòng)畫(huà)的 OLED 顯示

    ESP8266 通過(guò) MQTT 協(xié)議實(shí)現(xiàn) LED 的遠(yuǎn)程控制

    本文簡(jiǎn)要介紹了搭建 EMQX 服務(wù)實(shí)現(xiàn)基于 MQTT 協(xié)議遠(yuǎn)程控制 NodeMCU ESP8266 板載 LED 的解決方案。
    的頭像 發(fā)表于 09-25 09:11 ?2134次閱讀
    <b class='flag-5'>ESP8266</b> 通過(guò) MQTT 協(xié)議實(shí)現(xiàn) LED 的遠(yuǎn)程<b class='flag-5'>控制</b>

    arduino(1)--ESP8266配置

    之后在打開(kāi)開(kāi)發(fā)板管理。 之后輸入esp8266,安裝對(duì)應(yīng)的庫(kù)文件,因?yàn)槲乙呀?jīng)安裝,故顯示為灰色,由于網(wǎng)絡(luò)原因,下載的時(shí)間可能比較久。 安裝完畢之后,選擇Generic ESP8266
    發(fā)表于 09-06 11:00

    STM32 ESP8266阿里云鏈接源碼

    stm32F103C8T6 ESP8266 物聯(lián)網(wǎng)電表 登錄阿里云
    發(fā)表于 08-29 14:21 ?6次下載

    esp32和esp8266代碼共用嗎

    本文將介紹ESP32和ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來(lái)越多的智能設(shè)備開(kāi)始進(jìn)入我們的生活。其中,ESP32和
    的頭像 發(fā)表于 08-19 18:23 ?1276次閱讀

    esp8266esp32區(qū)別是什么

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

    esp8266不燒錄可以使用嗎

    Systems推出的低成本、低功耗的Wi-Fi模塊。它基于Tensilica L106微處理,具有32位處理能力,最高頻率可達(dá)160MHz。ESP8266具有豐富的外設(shè)接口,如GPIO、ADC、PWM等
    的頭像 發(fā)表于 08-19 17:28 ?927次閱讀

    esp8266wifi模塊怎么連接手機(jī)

    ESP8266 WiFi模塊連接手機(jī)主要可以通過(guò)兩種方式實(shí)現(xiàn): 通過(guò)路由連接(STA模式)和直接作為熱點(diǎn)連接(AP模式) 。以下是兩種連接方式的步驟: 一、通過(guò)路由連接(STA模式) 配置
    的頭像 發(fā)表于 08-19 17:27 ?3342次閱讀

    ESP8266軟件定時(shí)器允許在user_init中定義兩個(gè)不同的定時(shí)器然后去定時(shí)兩個(gè)不同的操作嗎?

    8266軟件定時(shí)器允許在user_init中定義兩個(gè)不同的定時(shí)器然后去定時(shí)兩個(gè)不同的操作嗎?如果可以需要注意什么,如果不可以,那么我想分別
    發(fā)表于 07-22 06:54

    ESP8266EX開(kāi)發(fā)板PWM非常不準(zhǔn)確是怎么回事?

    , 根據(jù)開(kāi)發(fā)文檔,我編譯下載了 IOT_DEMO 控制燈的案例到開(kāi)發(fā)板,實(shí)際測(cè)試 RGB 的3路PWM控制信號(hào),發(fā)現(xiàn)PWM非常不準(zhǔn)確(根據(jù)代碼查看估計(jì)ESP8266可能不是硬件PWM用定時(shí)器
    發(fā)表于 07-12 08:16

    esp8266定時(shí)器中程序占用時(shí)間太長(zhǎng),導(dǎo)致AP無(wú)法廣播或者廣播了連接不上怎么解決?

    使用esp8266定時(shí)器去跑ws2811效果,目前的情況是可以跑效果,但是在AP模式下,esp8266無(wú)法廣播,改了廣播間隔,還是會(huì)出現(xiàn)找不到廣播的現(xiàn)象。
    發(fā)表于 07-10 08:07

    ESP8266使用PWM庫(kù)時(shí),它導(dǎo)致esp-homekit客戶端斷開(kāi)連接,怎么解決?

    我正在嘗試了解 RTOS SDK ESP8266的所有計(jì)時(shí)。當(dāng)我使用 PWM 庫(kù)時(shí),它導(dǎo)致我的 esp-homekit 客戶端斷開(kāi)連接。調(diào)試日志中沒(méi)有任何內(nèi)容,他們只是斷開(kāi)了連接。也許是安全連接
    發(fā)表于 07-09 08:12

    ESP8266網(wǎng)絡(luò)天氣時(shí)鐘OLED顯示

    基于ESP8266實(shí)現(xiàn)網(wǎng)絡(luò)獲取天氣和時(shí)鐘并OLED顯示
    的頭像 發(fā)表于 06-28 04:46 ?1316次閱讀
    <b class='flag-5'>ESP8266</b>網(wǎng)絡(luò)天氣時(shí)鐘OLED顯示

    國(guó)產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片ESP8266ESP8285對(duì)比差異

    ESP8266ESP8285對(duì)比差異 ESP8285相當(dāng)于在ESP8266基礎(chǔ)上多加了1/2MB Flash, ESP8285與
    的頭像 發(fā)表于 05-17 11:44 ?1433次閱讀
    國(guó)產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片<b class='flag-5'>ESP8266</b>與<b class='flag-5'>ESP</b>8285對(duì)比差異

    使用Wi-Fi ESP8266方案模組接入云平臺(tái)

    ESP8266的模塊芯片是基于無(wú)線通信協(xié)議的UARTWi-Fi透?jìng)髂K芯片,支持802.11b/g/n的無(wú)線標(biāo)準(zhǔn),并帶有三種可選擇的工作模式。ESP8266模塊的控制是通過(guò)AT指令的形式控制
    的頭像 發(fā)表于 05-10 08:20 ?1895次閱讀
    使用Wi-Fi <b class='flag-5'>ESP8266</b>方案模組接入云平臺(tái)
    主站蜘蛛池模板: 免费人成在线观看视频色| 国产日韩欧美一区二区| 婷婷激情五月| 五月婷婷在线免费观看| 色婷婷中文字幕| 嘿嘿午夜| 变态重口极致另类在线| bt天堂在线www种子搜索| 午夜影院免费在线观看| 手机在线观看你懂得| 国产午夜毛片一区二区三区| 国产伦精品一区二区| 天堂最新在线资源| 久久久久久久国产| yezhulu在线永久网址yellow | 色偷偷网| 女人张开腿让男人桶免费最新| 精品成人在线观看| www.久久综合| 毛片8| 久久dvd| 狼色视频在线观免费观看| 淫五月| 女生扒开尿口让男生舔| 欧美极品在线视频| 香港日本三级在线播放| 欧美色视频日本片高清在线观看 | 又粗又长又爽又长黄免费视频| 第四色亚洲| 日韩欧美在线中文字幕| 国产一区二区精品| 天天干天天插天天射| 欧美18在线| 亚洲午夜久久久精品影院视色| 欧美色视频日本片免费高清| www天堂在线观看| 加勒比在线视频| 免费看污视频的网站| 日韩欧美高清一区| av2021天堂网手机版| 草久久久久|