日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【WiFi模组】乐鑫ESP32 基于ESP-IDF的原生SDK二次开发

發布時間:2024/3/26 编程问答 140 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【WiFi模组】乐鑫ESP32 基于ESP-IDF的原生SDK二次开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、 開發環境

1.系統環境:Windos10
2.源碼框架:官方ESP-IDF 4.4.1
3.編輯代碼:VScode
3.開發語言:C語言
4.操作系統:FreeRTOS

二、開發流程

1.下載離線安裝包 & 安裝

【官方下載鏈接:ESP-IDF Windows Installer Download Open Source IoT Development Framework for ESP32】

嘗試過在線安裝,但是由于網絡問題很容易失敗,建議使用離線安裝

安裝程序會安裝以下組件:

  • 內置的 Python
  • 交叉編譯器
  • OpenOCD
  • CMake 和 Ninja 編譯工具
  • ESP-IDF

安裝在D盤,一路點擊下一步即可

2.啟動ESP-IDF環境

安裝結束時,如果勾選了 Run ESP-IDF PowerShell Environment,安裝程序會在選定的提示符窗口啟動 ESP-IDF

3.創建工程

① 在桌面新建ESP目錄

② 將ESP-IDF框架中的例程復制到~ESP/下

③ 設置環境變量

要用安裝工具生成的那個ESP-IDF 4.4 PowerShell桌面快捷方式,打開電腦中的PowerShell沒用,因為沒有關聯到ESP-IDF

切到 ~\esp\hello_world目錄下,即我們的工程目錄下

設置環境變量的工具在D:\Espressif\frameworks\esp-idf-v4.4.1下,我們在當前工程目錄運行它,即可將當前工程目錄添加到環境變量,然后我們才能使用python工具對該工程進行編譯、下載等操作,命令如下:

. D:\Espressif\frameworks\esp-idf-v4.4.1\export.ps1

4.編譯

編譯指令如下:

idf.py build


編譯成功生成.bin文件

5.下載

下載前要設置目標板 和 裁剪框架

①設置目標板

idf.py set-target esp32

②裁剪框架,配置自己需要的功能

idf.py menuconfig

配置需注意的地方:

  • 如果開發板用usb供電,注意關掉電壓檢測,否則會一直重啟
  • 如果程序較大,在Serial flasher confi --->中修改Flash大小,否則程序下載不進去
  • 如果使用藍牙功能,在Component config --->中打開藍牙,藍牙默認是關閉的
  • 如果想用藍牙功能來配網,還要在開啟藍牙的同時使能藍牙菜單下的BluFi功能

③下載

根據實際端口

idf.py -p COM3 -b 460800 flash

④監控

idf.py -p COM3 monitor

三、代碼編輯

1.配置vscode依賴,方便跳轉到框架源碼

在c_cpp_properties.json中

{"configurations": [{"name": "Win32","includePath": ["D:\\Espressif/**","${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "msvc-x64"}],"version": 4 }

2.編寫Makefilelist.txt

開發中新建的多個路徑及文件,記得添加到Makefilelist.txt,供編譯工具編譯時索引

idf_component_register(SRCS "main.c""../APP/src/GPIO.c" "../APP/src/Character.c" "../APP/src/MQTT.c" "../APP/src/MQTT_Subscribed.c" "../APP/src/MQTT_Publish.c" "../APP/src/NVS.c" "../APP/src/D_open.c" "../APP/src/Pulse_CNT.c" "../APP/src/Timer.c" INCLUDE_DIRS "../APP/inc" REQUIRES blufiPRIV_REQUIRESmqtt nvs_flash )

其中REQUIRES 代表自己定義的組件,PRIV_REQUIRES代表官方組件,如果使用了相關功能,記得添加,否則會報找不到頭文件的錯誤,如果報了錯,可以看看是不是沒有添加組件

總結

以上是生活随笔為你收集整理的【WiFi模组】乐鑫ESP32 基于ESP-IDF的原生SDK二次开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。