資源簡介
Esp8266 源碼分析 MQTT 實現過程,實現移植 MQTT協議在 esp8266 rtos實時系統,可斷線重連。https://blog.csdn.net/xh870189248/article/details/81181707

代碼片段和文件信息
/*
?*?ESPRSSIF?MIT?License
?*
?*?Copyright?(c)?2015?
?*
?*?Permission?is?hereby?granted?for?use?on?ESPRESSIF?SYSTEMS?ESP8266?only?in?which?case
?*?it?is?free?of?charge?to?any?person?obtaining?a?copy?of?this?software?and?associated
?*?documentation?files?(the?“Software“)?to?deal?in?the?Software?without?restriction?including
?*?without?limitation?the?rights?to?use?copy?modify?merge?publish?distribute?sublicense
?*?and/or?sell?copies?of?the?Software?and?to?permit?persons?to?whom?the?Software?is?furnished
?*?to?do?so?subject?to?the?following?conditions:
?*?
?*?The?above?copyright?notice?and?this?permission?notice?shall?be?included?in?all?copies?or
?*?substantial?portions?of?the?Software.
?*?
?*?THE?SOFTWARE?IS?PROVIDED?“AS?IS“?WITHOUT?WARRANTY?OF?ANY?KIND?EXPRESS?OR
?*?IMPLIED?INCLUDING?BUT?NOT?LIMITED?TO?THE?WARRANTIES?OF?MERCHANTABILITY?FITNESS
?*?FOR?A?PARTICULAR?PURPOSE?AND?NONINFRINGEMENT.?IN?NO?EVENT?SHALL?THE?AUTHORS?OR
?*?COPYRIGHT?HOLDERS?BE?LIABLE?FOR?ANY?CLAIM?DAMAGES?OR?OTHER?LIABILITY?WHETHER
?*?IN?AN?ACTION?OF?CONTRACT?TORT?OR?OTHERWISE?ARISING?FROM?OUT?OF?OR?IN
?*?CONNECTION?WITH?THE?SOFTWARE?OR?THE?USE?OR?OTHER?DEALINGS?IN?THE?SOFTWARE.
?*
?*/
#include?“espressif/esp_common.h“
#include?“freertos/portmacro.h“
#include?“gpio.h“
void?gpio_config(GPIO_ConfigTypeDef?*pGPIOConfig)
{
????uint16?gpio_pin_mask?=?pGPIOConfig->GPIO_Pin;
????uint32?io_reg;
????uint8?io_num?=?0;
????uint32?pin_reg;
????if?(pGPIOConfig->GPIO_Mode?==?GPIO_Mode_Input)?{
????????GPIO_AS_INPUT(gpio_pin_mask);
????}?else?if?(pGPIOConfig->GPIO_Mode?==?GPIO_Mode_Output)?{
????????GPIO_AS_OUTPUT(gpio_pin_mask);
????}
????do?{
????????if?((gpio_pin_mask?>>?io_num)?&?0x1)?{
????????????io_reg?=?GPIO_PIN_REG(io_num);
????????????if?((0x1?<????????????????PIN_FUNC_SELECT(io_reg?0);
????????????}?else?{
????????????????PIN_FUNC_SELECT(io_reg?3);
????????????}
????????????if?(pGPIOConfig->GPIO_Pullup)?{
????????????????PIN_PULLUP_EN(io_reg);
????????????}?else?{
????????????????PIN_PULLUP_DIS(io_reg);
????????????}
????????????if?(pGPIOConfig->GPIO_Mode?==?GPIO_Mode_Out_OD)?{
????????????????portENTER_CRITICAL();
????????????????pin_reg?=?GPIO_REG_READ(GPIO_PIN_ADDR(io_num));
????????????????pin_reg?&=?(~GPIO_PIN_DRIVER_MASK);
????????????????pin_reg?|=?(GPIO_PAD_DRIVER_ENABLE?<????????????????GPIO_REG_WRITE(GPIO_PIN_ADDR(io_num)?pin_reg);
????????????????portEXIT_CRITICAL();
????????????}?else?if?(pGPIOConfig->GPIO_Mode?==?GPIO_Mode_Sigma_Delta)?{
????????????????portENTER_CRITICAL();
????????????????pin_reg?=?GPIO_REG_READ(GPIO_PIN_ADDR(io_num));
????????????????pin_reg?&=?(~GPIO_PIN_SOURCE_MASK);
????????????????pin_reg?|=?(0x1?<????????????????GPIO_REG_WRITE(GPIO_PIN_ADDR(io_num)?pin_reg);
????????????????GPIO_REG_WRITE(GPIO_SIGMA_DELTA_ADDRESS?SIGMA_DELTA_ENABLE);
????????????????port
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-07-23?20:53??23_ESP8266_Rtos_Mqtt\
?????文件????????4480??2018-07-26?10:46??23_ESP8266_Rtos_Mqtt\.cproject
?????文件????????2574??2018-05-25?15:41??23_ESP8266_Rtos_Mqtt\.gitlab-ci.yml
?????文件?????????805??2018-07-11?14:44??23_ESP8266_Rtos_Mqtt\.project
?????目錄???????????0??2018-07-23?20:52??23_ESP8266_Rtos_Mqtt\.settings\
?????文件????????1226??2018-07-26?10:46??23_ESP8266_Rtos_Mqtt\.settings\language.settings.xm
?????目錄???????????0??2018-07-23?20:52??23_ESP8266_Rtos_Mqtt\bin\
?????文件????????4096??2018-05-25?15:41??23_ESP8266_Rtos_Mqtt\bin\blank.bin
?????文件????????3856??2018-05-25?15:41??23_ESP8266_Rtos_Mqtt\bin\boot_v1.6.bin
?????文件????????4080??2018-05-25?15:41??23_ESP8266_Rtos_Mqtt\bin\boot_v1.7.bin
?????文件?????????128??2018-05-25?15:41??23_ESP8266_Rtos_Mqtt\bin\esp_init_data_default.bin
?????目錄???????????0??2018-07-23?20:52??23_ESP8266_Rtos_Mqtt\bin\upgrade\
?????文件???????????0??2018-05-25?15:41??23_ESP8266_Rtos_Mqtt\bin\upgrade\readme.txt
?????文件??????298228??2018-07-23?20:16??23_ESP8266_Rtos_Mqtt\bin\upgrade\user1.4096.new.6.bin
?????文件?????1753325??2018-07-23?20:16??23_ESP8266_Rtos_Mqtt\bin\upgrade\user1.4096.new.6.dump
?????文件?????4943483??2018-07-23?20:16??23_ESP8266_Rtos_Mqtt\bin\upgrade\user1.4096.new.6.S
?????目錄???????????0??2018-07-23?20:52??23_ESP8266_Rtos_Mqtt\bin\upgrade\_temp_by_dltool\
?????目錄???????????0??2018-07-23?20:52??23_ESP8266_Rtos_Mqtt\bin\upgrade\_temp_by_dltool\downloadPanel1\
?????文件??????337220??2018-07-21?17:46??23_ESP8266_Rtos_Mqtt\bin\upgrade\_temp_by_dltool\downloadPanel1\user1.4096.new.6.bin_rep
?????目錄???????????0??2018-07-23?20:52??23_ESP8266_Rtos_Mqtt\bin\_temp_by_dltool\
?????目錄???????????0??2018-07-23?20:52??23_ESP8266_Rtos_Mqtt\bin\_temp_by_dltool\downloadPanel1\
?????文件????????4080??2018-07-21?17:46??23_ESP8266_Rtos_Mqtt\bin\_temp_by_dltool\downloadPanel1\boot_v1.7.bin_rep
?????目錄???????????0??2018-07-23?20:52??23_ESP8266_Rtos_Mqtt\driver_lib\
?????目錄???????????0??2018-07-23?20:52??23_ESP8266_Rtos_Mqtt\driver_lib\driver\
?????文件????????7328??2018-05-25?15:41??23_ESP8266_Rtos_Mqtt\driver_lib\driver\gpio.c
?????文件????????4098??2018-05-25?15:41??23_ESP8266_Rtos_Mqtt\driver_lib\driver\hw_timer.c
?????文件????????9539??2018-05-25?15:41??23_ESP8266_Rtos_Mqtt\driver_lib\driver\i2c_master.c
?????文件????????1428??2018-05-25?15:41??23_ESP8266_Rtos_Mqtt\driver_lib\driver\Makefile
?????文件???????17433??2018-05-25?15:41??23_ESP8266_Rtos_Mqtt\driver_lib\driver\spi_interface.c
?????目錄???????????0??2018-07-23?20:52??23_ESP8266_Rtos_Mqtt\driver_lib\include\
?????文件????????9617??2018-05-25?15:41??23_ESP8266_Rtos_Mqtt\driver_lib\include\gpio.h
............此處省略709個文件信息
評論
共有 條評論