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_register與gpio_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工作模式 不...