ESP8266學習筆記②-----配置引腳

  •  序   

    通過燒錄對應的固件進行測試引腳的功能以及進行程序的編寫,通過這個我們可以控制IO口的電平的變化。使得ESP8266更加類似於一塊單片機而不是一個WIFI的模塊。

  • 需要什麼

① 一臺電腦

②一個LED

③一塊ESP8266開發板(我用的是NodeMCU)

 

  • 遇到的坑

①引腳的配置出現錯誤,只記住了官方手冊的配置而不去思考爲什麼這麼配置。

②引腳文檔沒有去看,一個人瞎配。

  • 需要的文檔

①首先是官方的編程文檔

 

 

esp8266-technical_reference_c...
4.6 MB

 

 

 

 

②其次是引腳的配置文檔

 

 

 

ESP8266_Pin_List.xls
105.5 KB

 

 

  • 程序的編寫以及固件的燒錄
#include "driver/uart.h" //串口0需要的頭文件
#include "osapi.h" //串口1需要的頭文件
#include "user_interface.h" //WIFI連接需要的頭文件
#include "gpio.h" //端口控制需要的頭文件

void delay_ms(uint16 x)
{
for(;x>0;x--)
{
os_delay_us(1000);
}
}

void user_init()//初始化
{

uart_init(76800, 76800);//設置串口0和串口1的波特率

PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);

GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);//GPIO12爲高

PIN_PULLUP_EN(PERIPHS_IO_MUX_MTDI_U);
while(1)
{
system_soft_wdt_feed();//這裏我們喂下看門狗 ,不讓看門狗復位


delay_ms(500);

GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 0); //GPIO12爲低

delay_ms(500);

GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1); //GPIO12爲高

os_printf("hello world\n" );



}

}

void user_rf_pre_init()
{

}

上面的程序就是很簡單的LED燈的閃爍,但是需要注意有幾句話例如PERIPHS_IO_MUX_MTDI_U,以及PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);這樣子的語句中的MTDI是GPIO12的功能各個引腳是不一樣的:


 

 

而且GPIO16的配置也是不一樣的。

燒錄要用ESPFlashDownloadTool_v3.6.4這個軟件。

 

 

 

如上配置完成之後直接燒錄就好了,這樣就可以看到GPIO12的LED開始閃爍了,在我的開發板上面就是D6。

  • 感想

     我很喜歡一位博主的一句話:"每一次改變總需要一個開始。" 希望這個開始順利些。我現在還得謝謝這位博主,我是看他的NodeMCU的教程入門的雖然自己也稍微修修改改了一些東西,但是主體框架其實也就是沒改過的。我爲這個博主打個廣告吧,如果各位有學習NodeMCU的想法的話就去看這位博主的博客吧,是一位十分NICE的博主。如果想學習SDK的話這位的博客,也還不錯。還有這位,他的Makefile文件的構成讓我看的很舒服。(雖然沒看懂233)。講真看博客只是參考,切不可當教程。畢竟分享的人(也就是我)是真的菜~~

 

 

 


 


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章