ESP32使用SD卡注意事項

2021-09-28 10:42:18 字數 2524 閱讀 8297

有兩種方法可以使用:上拉電阻為47k和上拉電阻為10k。

上拉電阻為47k。

按照esp32-cam開發板的接法。

上拉電阻為10k。

一、原理圖。

esp32s模組中有引出sdio的介面,就是sd2、sd3、cmd、clk、sd0、sd1,如下圖所示,第17~22引腳。

第17~22引腳也就是esp-idf中sd卡的slot0,這裡連線了esp32s模組的內部flash晶元,所以這裡是不能接sd卡的。

所以要接sd卡的slot1,原理圖如上圖所示,sdio_d0等引腳。

sdio_cd可以接任意的gpio口。

其中,u0txd和t0rxd用於燒錄韌體,而gpio16、gpio17為at指令的串列埠2,視具體情況引出。

二、efuse。

esp32的晶元內部是有熔絲,可以通過串列埠燒斷熔絲,以固化某些功能,但是這個操作不可逆,使用前需要詳細閱讀手冊。

esp32中的mtdi引腳,也就是gpio12,當esp32上電時,先讀gpio12的電平,拉低時把vdd_sdio引腳配置為3.3v,供內部flash使用;拉高時把vdd_sdio引腳配置為1.8v。

因為esp32s的內部flash是3.3v供電的,所以需要把gpio12拉低,但是gpio12又接了sdio_d2並且上拉10k電阻。這就導致了gpio12不能使用。

使用esp32的efuse可以不讀gpio12的電平來固定vdd_sdio的輸出電壓。

三、搭建python開發環境。

要使用efuse需要python3直譯器pip工具。如下圖所示。

安裝好python3直譯器後,新增到path系統環境變數,如下圖所示。

使用管理員方式開啟cmd,如下圖所示。

安裝完成後,可以看到pip.exe,如下圖所示。

把pip的目錄也新增到path系統環境變數中,如下圖所示。

用管理員方式開啟cmd,使用pip安裝esptool,如下圖所示。

四、使用python指令碼配置esp32的efuse。

先把esp32的gpio0拉低,重新上電。

開啟cmd,執行以下命令,其中-b設定波特率為115200,-p設定com口,這裡是com10,視具體情況而定。python的目錄也是視自己電腦而定。第二條命令summary可以獲取esp32的efuse資訊,用於觀察是否設定正確。

cd c:\program files\python 3.5\scripts

python espefuse.py-script.py -b 115200 -p com10 summary

python espefuse.py-script.py -b 115200 -p com10 set_flash_voltage 3.3v

最終結果如下圖所示。

設定電壓為3.3v時,需要再輸入一遍burn,回車,才能生效。

重新上電,gpio12可以正常使用,同時又不影響esp32讀取flash。

五、燒錄韌體。

由於sdio的引腳都接了10k上拉電阻,會導致esp32無法燒錄韌體。

需要去掉sdio_d0,也就是gpio2的上拉電阻,才能正常燒錄韌體。

六、idf版本。

esp32-idf(v2.0版本)不支援sdio介面的sd卡,建議使用v3.2.2版本(使用官方推薦的lubuntu)。

ESP32使用micropython心得

本次環境使用工具pycharm,需依次安裝 esptool,adafruit ampy。在pycharm上安裝 intellij micropython 外掛程式 乙個命令列工具,用於與esp8266和esp32微控制器中的rom引導引導程式通訊。允許訪問快閃儲存器韌體,讀回韌體,查詢晶元引數等。使...

使用MicroPython開發ESP32網路開發

micropython庫分為三部分。一部分是把基礎python中常用的庫結合硬體特典重新實現的,為了做區分這部分庫在命名上稍有改變,比如原版的 json 模組在micropython中改名為 ujson 不過在使用的時候用 json 和 ujson 兩個名稱都可以。micropython庫第二部分是...

使用Arduino IDE對ESP32雙核進行程式設計

esp模組因其wi fi功能 如esp8266 esp 12e等 而廣受歡迎。這些都是具有wi fi功能的強大微控制器模組。還有乙個esp模組,它比以前的esp模組更強大,更通用 其名稱為esp32。它具有藍芽和wi fi連線,並在許多物聯網專案中使用了esp32。但是很少有人知道esp32是雙核微...