ESP32學習例項(一)lO口的原理和操作流程

2021-10-08 01:52:57 字數 1058 閱讀 7278

目錄

一、功能介紹

二、實列操作

2.1數字輸出

2.2資料輸入

io口基本使用方式如下:

esp32的 io 口主要是用來連線外部感測器、執行器等相關外設的。 io 口基本操作,主要包括數字輸入、數字輸出、模擬輸入、模擬輸出。

這裡需要注意的是,輸入和輸出是相對主控板來說的:

當訊號是由主控板向外設傳送時,相應的外設就是主控板的輸出裝置;

當訊號是由外設向主控板傳送時,也就是主控板去讀取外設的訊號時,相應的外設就是主控板的輸入裝置。

數字輸出或數字量輸出,裝置是生活中最常見的裝置,即只有 2 中情況:有或無、開或關、1 或 0.。因為esp32這個板子中22號io口串聯了乙個led燈,我們可以通過程式來控制22號io口的輸出。程式非常簡單,如下:

void setup()

{serial.begin(115200);//設定波特率為115200;

serial.println();

pinmode(22, output);//定義22號io口的模式為輸出模式

digitalwrite(22, low);//定義這個引腳為低電平,低電平的情況下led會發光;

其實驗證這個功能也非常的簡單,我們仍然以22io口為例,這個埠如果輸入高電平,led燈就可以亮,反之如果輸入低電平,燈就不會亮,這樣就可以輕鬆實現io口輸入的驗證了。

但是這裡面存在乙個問題,就是如何將高電平或者低電平新增到io口呢?實際上,解決方法也很簡單,我們這需要兩根杜邦線,連線在esp32的3v、g(vcc、gnd)。這樣這兩根線不就成為高低電平了嗎?是不是很巧妙。

使用pinmode(pin, mode)來設定gpio口工作模式,mode可選比較多input、output、input_pullup、input_pulldown模式(輸入、輸出、上拉輸入、下拉輸入,另外還有開漏等模式)

使用digitalwrite(pin, value)來設定輸出狀態,value可選值為high或low,即1和0;

使用digitalread(pin)來讀取gpio口電平,返回值為high或low,即1和0;

ESP32學習9 PWM的輸出

先給大家講講舵機的驅動吧 雖然之前在stm32的博文裡面的其中一篇講pwm的博文已經講過了,但在這裡再講一遍,我們手裡的舵機模組基本都是靠時基脈衝中的占空比調節來控制的,那再具體再說的通俗一點呢?就是比如我的時基為20ms 要求舵機轉到0度的所要求的的占空比為0.5ms 那麼我們就需要以20ms為乙...

(ESP32學習2)ADC與DAC的使用

adc輸出關鍵字 serial.println analogread 35 analogread 35 獲取指定io口的模擬電壓資料 該方法將阻塞直到採集完成 資料範圍為0 2 12 1,即0 4095.dac輸出關鍵字 dacwrite 25 100 25,26 就是兩個dac引腳,後面的值取值範...

ESP32學習1 IO的輸出高低電平與上下拉輸入

開啟輸出模式的關鍵字 pinmode 32 output 開啟引腳輸出模式 有個別引腳不可以設定輸出模式,在文章後面會提到 digitalwrite 32 high 輸出高電平,low就是低電平 開啟輸入模式的關鍵字pinmode 33 input pullup 上拉輸入模式,input就是不上拉也...