ESP8266輸出控制

2021-09-22 02:15:47 字數 3811 閱讀 2646

gpio的輸出:esp8266的輸出控制。在esp8266引腳作為gpio輸出時,首先要配置gpio為輸出模式,這個和普通的32位微控制器的io輸出是一樣的,然後提供改變io口的電平來控制輸出模組的狀態。在這裡我用我自己手上的一款esp8266的微控制器為例。

gpio相關介面位於:esp8266_nonos_sdk/include/eagle_soc.h & gpio.h

使用示例可參考:esp8266_nonos_sdk/examples/iot_demo/user/user_plug.c

1.1.1.1 pin_func_select()函式

函式原型:pin_func_select(pin_name, func)

函式功能:將指定引腳設定為指定功能

形參: pin_name:指定引腳的引腳名稱

形參可填引數為:3.3.1 gpio引腳定義章節的」 periphs_io_mux_」+pin name

例如:gpio0_u在這裡就應該寫為periphs_io_mux_gpio0_u

返回值:無

使用示例:pin_func_select(periphs_io_mux_gpio0_u, func_gpio0);

1.1.1.2 pin_pullup_en()函式
函式名稱:pin_pullup_en(pin_name)

函式功能:引腳上拉使能

形參:pin_name:」 periphs_io_mux_」+pin name

示例:pin_pullup_en(periphs_io_mux_gpio4_u);

1.1.1.3 pin_pullup_dis()函式
函式名稱:pin_pullup_dis (pin_name)

函式功能:引腳上拉失能

形參:pin_name:」 periphs_io_mux_」+pin name

示例:pin_pullup_ dis (periphs_io_mux_gpio4_u);

1.1.1.4 gpio_output_set()函式
函式名稱:void gpio_output_set(uint32 set_mask,uint32 clear_mask,uint32 enable_mask,uint32 disable_mask)

函式功能:設定gpio屬性

形參: uint32 set_mask :設定輸出為高的位,對應位為1,輸出高;對應位為0,不改變狀態

uint32 clear_mask :設定輸出為低的位,對應位為1,輸出低;對應位為0,不改變狀態

uint32 enable_mask :設定使能輸出的位

uint32 disable_mask :設定使能輸入的位

返回值:無

示例:gpio_output_set(bit12, 0, bit12, 0);// #define bit12 0x00001000 設定gpio12輸出高電平

gpio_output_set(0, bit12, bit12, 0): //設定gpio12輸出低電平

gpio_output_set(bit12, bit13, bit12|bit13, 0)://設定gpio12輸出高電平,gpio13輸出低電平

gpio_output_set(0, 0, 0, bit12);//設定gpio12為輸入

/*

* 函式名稱:void os_delayms(unsigned int data)

* 函式功能:毫秒延時函式

* 函式形參:unsigned int data:延時時間

gpio的輸出:esp8266的輸出控制。在esp8266引腳作為gpio輸出時,首先要配置gpio為輸出模式,這個和普通的32位微控制器的io輸出是一樣的,然後提供改變io口的電平來控制輸出模組的狀態。在這裡我用我自己手上的一款esp8266的微控制器為例。

gpio相關介面位於:esp8266_nonos_sdk/include/eagle_soc.h & gpio.h

使用示例可參考:esp8266_nonos_sdk/examples/iot_demo/user/user_plug.c

1.1.1.1 pin_func_select()函式

函式原型:pin_func_select(pin_name, func)

函式功能:將指定引腳設定為指定功能

形參: pin_name:指定引腳的引腳名稱

形參可填引數為:3.3.1 gpio引腳定義章節的」 periphs_io_mux_」+pin name

例如:gpio0_u在這裡就應該寫為periphs_io_mux_gpio0_u

返回值:無

使用示例:pin_func_select(periphs_io_mux_gpio0_u, func_gpio0);

1.1.1.2 pin_pullup_en()函式
函式名稱:pin_pullup_en(pin_name)

函式功能:引腳上拉使能

形參:pin_name:」 periphs_io_mux_」+pin name

示例:pin_pullup_en(periphs_io_mux_gpio4_u);

1.1.1.3 pin_pullup_dis()函式
函式名稱:pin_pullup_dis (pin_name)

函式功能:引腳上拉失能

形參:pin_name:」 periphs_io_mux_」+pin name

示例:pin_pullup_ dis (periphs_io_mux_gpio4_u);

1.1.1.4 gpio_output_set()函式
函式名稱:void gpio_output_set(uint32 set_mask,uint32 clear_mask,uint32 enable_mask,uint32 disable_mask)

函式功能:設定gpio屬性

形參: uint32 set_mask :設定輸出為高的位,對應位為1,輸出高;對應位為0,不改變狀態

uint32 clear_mask :設定輸出為低的位,對應位為1,輸出低;對應位為0,不改變狀態

uint32 enable_mask :設定使能輸出的位

uint32 disable_mask :設定使能輸入的位

返回值:無

示例:gpio_output_set(bit12, 0, bit12, 0);// #define bit12 0x00001000 設定gpio12輸出高電平

gpio_output_set(0, bit12, bit12, 0): //設定gpio12輸出低電平

gpio_output_set(bit12, bit13, bit12|bit13, 0)://設定gpio12輸出高電平,gpio13輸出低電平

gpio_output_set(0, 0, 0, bit12);//設定gpio12為輸入

ESP8266 利用網頁控制ESP8266

說明 發出 gpio 1 就輸出 亮燈 gpio 0 就輸出 滅燈 include const char ssid jia 這裡輸入wifi名稱 const char password lm654321 這裡輸入wifi密碼 wifiserver server 80 開啟板子的80埠 int val...

ESP8266的PWM 模擬輸出

本教程演示如何使用 esp8266 nodemcu 使用 arduino ide 生成 pwm 訊號。例如,我們將通過一段時間改變占空比來降低 led 亮度。esp8266 gpios 可以設定為輸出 0v 或 3.3v,但它們不能輸出任何電壓。但是,您可以使用脈衝寬度調製 pwm 輸出 假 中電平...

ESP8266學習筆記

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