ESP8266學習歷程 1 GPIO配置

2021-10-04 15:59:09 字數 2490 閱讀 6848

soc晶元之上的韌體,以及基於esp-12模組的硬體。

使用esp8266的gpio最起碼得包含相關引腳的標頭檔案吧

1

#include "driver/gpio.h"
gpio的初始化設定與stm32提供的標準庫大同小異,都是通過乙個結構體來進行配置,如下:

123

4567

typedef struct  gpio_config_t;
中斷模式:

123

4567

89

typedef enum  gpio_int_type_t;c
用例1(不開啟中斷)

123

4567

891011

1213

1415

#define gpio_output_io_0    15

#define gpio_output_io_1 16

#define gpio_output_pin_sel ((1ull

用例2(開啟中斷)

123

4567

891011

1213

1415

1617

1819

20

設定gpio輸出電平

1

2

//引數:gpio編號,輸出電平狀態:0低電平,1高電平,返回的是成功與否狀態碼

esp_err_t gpio_set_level(gpio_num_t gpio_num, uint32_t level);

讀取gpio引腳電平

1

2

//引數:gpio編號,返回的是電平狀態

int gpio_get_level(gpio_num_t gpio_num);

gpio_isr_registergpio_install_isr_service的區別

gpio_isr_register函式是統一為所有的gpio口註冊乙個全域性的isr,即任何的gpio中斷觸發,都會呼叫該中斷處理函式;

1

esp_err_t gpio_isr_register(void (*fn)(void *), void *arg, int no_use, gpio_isr_handle_t *handle_no_use);
引數

解析fn

中斷處理函式。

arg傳遞給中斷處理函式的引數。

no_use

no_use為了與esp32相容,這個引數沒有實際意義,可以用0來填充。

handle_no_use

指標返回控制代碼。為了與esp32相容,這個引數沒有實際意義,可以用null來填充。

gpio_install_isr_service函式與gpio_isr_register不相容,gpio_install_isr_service主要是開啟中斷服務,不針對某乙個gpio,需要搭配gpio_isr_handler_add使用;

1

esp_err_t gpio_install_isr_service(int no_use);
此處的no_use為了與esp32相容,這個引數沒有實際意義,可以用0來填充。

1

esp_err_t gpio_isr_handler_add(gpio_num_t gpio_num, gpio_isr_t isr_handler, void *args);
引數

解析gpio_num

指定gpio口

isr_handler

對應的中斷處理函式

args

傳遞給中斷處理函式的引數

我的github

我的個人部落格

csdn

ESP8266學習歷程 GPIO配置

soc晶元之上的韌體,以及基於esp 12模組的硬體。xgpio6至gpio11通常連線到esp8266板上的flash晶元。因此,不建議使用這些引腳。使用esp8266的gpio最起碼得包含相關引腳的標頭檔案吧 include driver gpio.h gpio的初始化設定與stm32提供的標準...

ESP8266學習筆記

因為此模式可控性高且方便,所以推薦此模式 測試指令 at 應用模式設定 at cwmode 3 ap 模式 1 esp8266模組作為熱點,實現手機或電腦直接與模組通訊,實現區域網無線控制。sta 模式 2 esp8266模組通過路由器連線網際網路,手機或電腦通過網際網路實現對裝置的遠端控制 sta...

ESP8266學習之路

二.理解esp8266模式 見預設模式,直接與熱點 即wifi 相連,需要事先告知8266wifi的名稱以及密碼,使得其能夠連線上wifi。可以連線到ap 設定連線的wifi名稱以及密碼 關閉smartconfig模式 如果處於該模式 設定station模式,準備連線 設定station工作模式 不...