一文速通ESP8266NodeMCU(基于ArduinoIDE)——萬(wàn)字爆肝含示例代碼
ESP8266,點(diǎn)擊此處黃色字體領(lǐng)取文章中的配套資料
ESP8266是一款由樂(lè)鑫(Espressif)公司開(kāi)發(fā)的芯片。
一般來(lái)說(shuō),搭載了ESP8266芯片,長(zhǎng)得像下面的這樣的開(kāi)發(fā)板就叫ESP8266NodeMCU。
可能會(huì)有些許不同,但是只要芯片上寫(xiě)著ESP8266的就沒(méi)問(wèn)題。因?yàn)殡S便來(lái)個(gè)人搞個(gè)ESP8266的芯片都可以搞個(gè)自己的ESP8266NodeMCU。
ESP8266內(nèi)部集成了WiFi,所以可以作為WiFi模塊(我干過(guò),用STM32去采集數(shù)據(jù),然后通過(guò)串口通信傳給ESP8266,再由ESP8266把數(shù)據(jù)上傳到服務(wù)器),也可以作為獨(dú)立的微控制器。
接下來(lái)我們就開(kāi)始用ArduinoIDE來(lái)編寫(xiě)程序速通一遍ESP8266NodeMCU。(需要對(duì)單片機(jī)有點(diǎn)基礎(chǔ),否則一些名詞會(huì)聽(tīng)的稀里糊涂)
ArduinoIED環(huán)境配置
要使用ArduinoIED編寫(xiě)ESP8266NodeMCU的程序,我們需要有ESP8266開(kāi)發(fā)板的資源包,這個(gè)我們可以去電燈科技的官網(wǎng)里找離線(xiàn)安裝包。
包括ESP32的資源也有。
我們點(diǎn)擊下載之后會(huì)跳轉(zhuǎn)到Arduino中文網(wǎng),跟著步驟下載即可。得到一個(gè)exe文件,直接執(zhí)行就好了。
然后在ArduinoIDE中按照下面選擇即可(不是我不截圖,一用快捷鍵截圖這些選項(xiàng)就不見(jiàn)了,所以只能拍照了)
GPIO
要學(xué)習(xí)一款芯片,我們先成為電燈大師再說(shuō)。
我們能用的ESP8266NodeMCU的GPIO口其實(shí)挺少的。
GPIO口看著不少,其實(shí)右邊那一排的GPIO口我們是用不了的(不作為普通的GPIO口使用,其他特殊用途可以),因?yàn)樗鼈兪怯脕?lái)控制內(nèi)部存儲(chǔ)單元的。就記著A0口在的那一排的其他GPIO用不了。
然后左邊一排的GPIO中,GPIO1和GPIO3被用來(lái)串口通信,一般也不用作其他用途,所以能用的GPIO口其實(shí)少的可憐。
那我們就先點(diǎn)個(gè)燈吧。
閃爍LED
配置GPIO口模式
pinMode(uint8_t pin, uint8_t mode);
第一個(gè)參數(shù)可以直接填入ESP8266NodeMCU開(kāi)發(fā)板上的標(biāo)注,例如“D0”,也可以填入數(shù)字,例如D0實(shí)際上是GPIO16,因此填入數(shù)字16也是可以的。
第二關(guān)參數(shù)配置模式,簡(jiǎn)單來(lái)說(shuō)我們就使用三種,OUTPUT,INPUT,INPUT_PULLUP,分別是輸出,輸入,上拉輸入,其實(shí)可配置的模式不止這三種,但是這三種是最常用的。
數(shù)字輸出
digitalWrite(uint8_t pin, uint8_t val);
第一個(gè)參數(shù)就是指定GPIO口,跟上面一樣。
第二個(gè)參數(shù)直接寫(xiě)數(shù)字即可,1就是高電平,0就是低電平。
點(diǎn)亮LED
void setup() { // put your setup code here, to run once: pinMode(D0,OUTPUT); //等價(jià)于pinMode(16,OUTPUT); digitalWrite(D0, 1); //等價(jià)于digitalWrite(16, 1) } void loop() { // put your main code here, to run repeatedly: }
以防有小伙伴不清楚這種格式的代碼編寫(xiě)(因?yàn)?1和32都是寫(xiě)main函數(shù)的),這邊稍微解釋一下。我們寫(xiě)在setup函數(shù)里的是配置東西的代碼,只會(huì)執(zhí)行一次,而寫(xiě)在loop函數(shù)里的是會(huì)一直循環(huán)執(zhí)行的東西,可以理解為我們51,32代碼里的while(1)。
這樣我們先配置了GPIO口,再輸出高電平,然后再接上LED就可以實(shí)現(xiàn)點(diǎn)亮LED的操作了。
完整代碼可進(jìn)群免費(fèi)領(lǐng)取!!!
嵌入式物聯(lián)網(wǎng)的學(xué)習(xí)之路非常漫長(zhǎng),不少人因?yàn)閷W(xué)習(xí)路線(xiàn)不對(duì)或者學(xué)習(xí)內(nèi)容不夠?qū)I(yè)而錯(cuò)失高薪offer。不過(guò)別擔(dān)心,我為大家整理了一份150多G的學(xué)習(xí)資源,基本上涵蓋了嵌入式物聯(lián)網(wǎng)學(xué)習(xí)的所有內(nèi)容。點(diǎn)擊下方鏈接,0元領(lǐng)取學(xué)習(xí)資源,讓你的學(xué)習(xí)之路更加順暢!記得點(diǎn)贊、關(guān)注、收藏、轉(zhuǎn)發(fā)哦!
- 贊