買到的WiFi模塊型號是ESP-12S,除復位、串口、下載、電源外,還有6個口能夠進行DIY,分別是GPIO2GPIO4GPIOI5GPIO12GPIO13GPIO14,本文經過實例來演示如何經過一個按鍵控制一個小燈的閃爍。web
適應讀者:已完成開發環境的配置,並能導入SDK和編譯完成。windows
模塊的最小系統原理圖
api
首先說下用到的工具及環境:app
一、使用的SDK是安信可官方下載的直接可編譯的
eclipse
二、安信可官網下載的ESP8266開發環境,是用eclipse和cygwin在windows環境下載開發,使用仍是蠻簡單的
函數
三、下載工具用FLASH_DOWNLOAD_TOOLS
工具
四、下面直接上user_main.c文件的內容,只需修改該文件內容,其它文件先不要動this
/****************************************************************************** * Copyright 2013-2014 Espressif Systems (Wuxi) * * FileName: user_main.c * * Description: entry file of user application * * Modification history: * 2014/1/1, v1.0 create this file. *******************************************************************************/ #include "ets_sys.h" #include "osapi.h" #include "gpio.h"//io引腳 #include "user_interface.h" #include "user_devicefind.h" #include "user_webserver.h" #if ESP_PLATFORM #include "user_esp_platform.h" #endif void user_rf_pre_init(void) { } /*定時器結構體 */ static os_timer_t os_timer; /******************************************************************************* * 自定義引腳運行函數_定時器回調 *******************************************************************************/ void Task_Run(void){ static bool status = false; if(GPIO_INPUT_GET(14)){//讀取GPIO14的引腳電平 if (status == true){ status = false; GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 0);//GPIO12輸出低電平 }else{ status = true; GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);//GPIO12輸出高電平 } }else{ GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);//GPIO12輸出高電平 } } /****************************************************************************** * FunctionName : user_init * Description : entry of user application, init user function here * Parameters : none * Returns : none *******************************************************************************/ void user_init(void) { /*設置串口波特率*/ uart_init(115200,9600); /*打印版本信息*/ os_printf("\r\n");os_printf("SDK version:%s\n", system_get_sdk_version()); /*配置GPIO12*/ PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12); /*配置GPIO14*/ PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U,FUNC_GPIO14); /*配置軟件定時器 */ os_timer_disarm(&os_timer);//關閉定時器 os_timer_setfn(&os_timer,(ETSTimerFunc *) (Task_Run), NULL);//配置回調函數 os_timer_arm(&os_timer,1000,true);//啓動定時器 }
編譯成功的標誌是這樣的
spa
燒錄的步驟:code
一、將GPIO_0引腳接地,斷開模塊電源;二、打開ESP FLASH DOWNLOAD TOOL;三、按照本文的第二張圖片進行配置後,點擊START按鈕;四、打開模塊電源後就看到工具提示下載中;五、若失敗,請嘗試重複以上操做!