日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

CLion上用platformIO开发esp32,CLion开发esp32详细配置流程

發布時間:2025/4/5 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CLion上用platformIO开发esp32,CLion开发esp32详细配置流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????太愛Jetbrains了!!!

????上次用煩了keil寫stm32,Clion馬上給俺整了個2019.1更新,直接整合了stm32CubeMX,從此拋棄keil.

????最近畢設選擇了用esp32,然后用platformIO來做為開發平臺.(不得不說,platformIO真不愧是新時代嵌入式開發神器啊,感覺嵌入式開發的體驗一下子進入了21世紀.真心勸沒有了解過的小伙伴們了解一下.)

????platformIO固然是非常不錯的,但是! platformIO的推薦平臺是vscode!!! 對,也就是那個充滿贊譽的vscode. 不得不說,vscode也固然不錯,只要你不用它寫c++.

????或許是我被Jetbrains寵壞了,vscode+platformIO的c++編寫體驗真的是令我難受得抓耳撓腮.代碼提示瞎提示,不編譯就不更新錯誤提示,按?+點擊瞎跳轉……

難受得我呀,都產生幻覺了,總感覺有這么個人在準備接單:

當然,platformIO也不是不可以用clion,畢竟它還支持cli命令行模式,大不了用命令行建個工程,再自己精心一份cmake就可以用了…

但…這體驗也實在是太差了,折騰不起,折騰不起…

就在我今天實在是受不了了,決定折騰就折騰吧的時候,驚奇地發現!CLion 2020.1更新!!!! (狂喜.jpg)

CLion 2020.1 EAP: IAR Toolchain, PlatformIO Plugin, and Updates to Change Signature Refactoring

PlatformIO Plugin!!! PlatformIO Plugin!!! PlatformIO Plugin!!!

立馬照著PlatformIO官網和Clion的更新博客一頓操作,安裝成功.

經過試用,相當舒爽~

python環境

platfromIO 需要python環境,so,裝一個python3的環境吧…

安裝方式網上一堆,我就不贅述了,

安裝PlatformIO

安裝

安裝PlatformIO Core,在Mac或者linux下,只需執行下面三條命令中的任意一條就行:

python3 -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/develop/scripts/get-platformio.py)"# or using `curl`curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py -o get-platformio.pypython3 get-platformio.py# or using `wget`wget https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py -O get-platformio.pypython3 get-platformio.py

而在Windows上,你需要先下載這個get-platformio.py

然后用python運行它

# run itpython get-platformio.py

設置環境變量

為了你能在命令行里使用platform命令,你需要配置一下環境變量

mac或者linux下,建議也不用配置啥環境變量了,直接整個軟連接吧:

ln -s ~/.platformio/penv/bin/platformio /usr/local/bin/platformioln -s ~/.platformio/penv/bin/pio /usr/local/bin/pioln -s ~/.platformio/penv/bin/piodebuggdb /usr/local/bin/piodebuggdb

而windows的小伙伴,把C:\Users\你的用戶名\.platformio\penv\Scripts;加到Path環境變量里就好了.

(不會加環境變量就百度吧,嘻嘻)

安裝CLion

emmmm,安裝CLion…也屬于基礎操作.

略.

(突然感受到一絲參考答案編寫老師的快感)

(記得版本要大于2020.1啊)

給Clion安裝PlatformIO Plugin

這也是相當簡單啦,先打開CLion的插件管理器,然后搜索platformio,點install安裝就好了.

安裝完成后,記得重啟一下CLion哦.

使用

emmmm,就這么簡單,安裝就完成了,接下來就是使用了.我們來整一個程序試試.

platformIO支持特別多芯片和開發板平臺,我這里就用最近在用的esp32舉個例子.

首先,CLion新建工程頁面,我們可以發現,多了一個PlatformIO的選項,直接點一下,就可以看到右邊可以選擇各種開發板和其框架. 這里我就選用DOIO ESP32 DEVKIT V1這塊板子(其實我手里的不是官方版,這里面可能沒有,但芯片一樣就行),然后使用Arduino的框架.(Arduino那么多庫,不用白不用,哈哈哈哈哈)

等PlatformIO init跑完之后吶,就可以看到生成的PlatformIO項目目錄結構了.

好,我們先來試試寫一個Hello world程序練練手, 打開src目錄下的main.c文件,整個Arduino的標準Hello world:

emmmm,寫是寫完了,可這Serial咋是紅的啊?

其實,仔細想想就知道,因為人家Serial是C++的語句…咱當然不能在main.c里用啊.

首先,把名字改成main.cpp

然后,再右鍵,Reload CMake Project重載一下CMake工程

完美~

接下來測試一下,首先,將板子跟之前一樣接到電腦上.

然后注意右上角,將運行任務切換到upload.

(注意到沒有!默認是debug啊,這說明可以Debug啊,太爽了,不過我還沒用用,就先不說了)

最后點小綠三角,運行upload.

程序先編譯后上傳,如果一切無誤,程序就會被上傳到esp32上.

此時,打開Terminal,輸入platformio device monitor,就可以打開串口監視器,查看串口輸出.

串口監視器的比特率默認是9600.如果你想換一下的話,比如115200,除了把代碼中的Serial.begin(9600)換成Serial.begin(115200)以外,還需要在platformio.ini中加一句monitor_speed = 115200,否則會出現亂碼.

使用第三方庫

豐富的第三方庫資源是PlatformIO的強大優勢之一,我們來舉個例子.

就拿我手頭的DHT22傳感器來說吧,這是一個比較常見的溫濕度監測傳感器.

我們先打開PlatformIO的Libraries registry, 搜索DHT22看看:

我們看見第一個庫就不錯,有39214次下載使用,而且也支持我們使用的平臺,點進去看看:

在庫的詳情頁面,有很多東西,其中我們最需要關心的是Example和Installation

其中Example中會教我們如何使用這個庫,而Installation則是告訴我們怎么安裝.

我們先來安裝,打開Installation,可以找到這么一塊代碼:

這是PlatformIO比較推薦的一種安裝方式,就像npm的package.json或者Java的Maven的Pom一樣,它建議你直接將需要的庫依賴寫在platform.ini中即可

所以我們選擇其中的一行,寫在platform.ini的lib_deps中:

然后再點綠色小三角運行,就會發現編譯過程中有下載依賴的行為.

不過還是編譯失敗了,這可能是個小bug? 編譯器會提醒某些在第三方庫中引用的頭文件不存在,但是此時如果我們在我們自己的工程中引用這些頭文件,卻可以正確引用,而且,引用了之后,第三方庫也不再會報頭文件不存在.很迷…2333

我這里是告訴我Wire.h和SPI.h不存在,這是很常用的Arduino的頭文件,不會不存在的,我將其在main.cpp中引用一下,報錯就沒了.

(對了,在再次上傳程序之前,記得把Terminal中的串口監視器用ctrl+c關掉,唉,這是稍微不優雅的一個地方)

接下來,我就根據Example中的代碼,寫一個DHT22的小Demo吧:

嗯?寫是寫完了,不對啊,這dht.h怎么引不進來啊? DHT的使用也是紅的,這明顯不對啊.

emmm,這可能也是個小bug? 不過,也好解決.

這不就是找不到頭文件嘛~簡單,咱也是能寫一點CMake的新時代少年,改!

我們的庫被PlatformIO下載到了./.pio/libdeps/開發平臺名/中,我們可以找到這些庫存放頭文件的地方(一般直接就是第三方庫目錄,或者是其下的src目錄)

打開CMakeLists.txt,然后使用include_directories語句,將這些存放頭文件的地方包含進去.

(我們看到下面其實還有個關于CMakeListsUser.txt的邏輯,PlatformIO肯定是想我們把自己的CMake代碼寫到自己建的CMakeListsUser.txt中,但是不在CMakeLists.txt中沒有代碼提示啊,咱們就直接在這寫吧)

改完之后,重新右鍵,Reload CMake Project,或者點右上角的Reload Changes提示,重新載入一下CMake工程就好了.

可以看到,一切就完美了.

那就試試吧! 把硬件準備好:

下載運行,打開串口監視器查看:

完美!


總結:

以上就是關于CLion+PlatformIO的安裝和使用了,我說的比較詳細(啰嗦)

其實很簡單的,

一兩行代碼安裝Platform IO,CLion裝一下Platform插件,整個安裝就結束了.

使用的時候,記得main.c改main.cpp,

看串口用platformio device monitor ,改端口號在platform.ini中寫monitor_speed = 115200

安裝第三方插件很舒服,在platform.ini中的lib_deps下添一句就行

有兩個小問題,

一是第三方庫可能找不到某些Arduino自帶的頭文件,在自己工程的某個文件(比如main.cpp)中include一下就行

二是找不到第三方庫的頭文件,在CMakeLists.txt中配置一下頭文件路徑就行。

總結

以上是生活随笔為你收集整理的CLion上用platformIO开发esp32,CLion开发esp32详细配置流程的全部內容,希望文章能夠幫你解決所遇到的問題。

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