0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PIO工程的結(jié)構(gòu)以及配置文件

CHANBAEK ? 來源:魚香ROS ? 作者:小魚 ? 2023-07-02 15:33 ? 次閱讀

你好,我是愛吃魚香ROS的小魚。上一節(jié)我們搭建好了MicroROS學習板的開發(fā)環(huán)境,并新建了第一個工程。本節(jié)我們詳細了解下該工程,了解我們需要在哪里寫代碼,在哪里改配置?

一、工程目錄概述

圖片

image-20221218001241164

首先展開工程,可以看到工程一共有8個部分如上圖所示。

  1. PIO配置文件
  2. VsCode配置文件
  3. 頭文件放置目錄
  4. 庫文件放置目錄
  5. 代碼資源放置目錄,主函數(shù)就在這里
  6. 測試文件放置目錄
  7. git忽略文件
  8. platformio配置文件

二、在哪里寫代碼?

打開src/main.cpp就是我們工程的程序入口文件,打開該文件,已經(jīng)默認給我們生成了9行代碼,后續(xù)的主要開發(fā)就在這里進行。

#include < Arduino.h >

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}Copy to clipboardErrorCopied

三、工程配置文件-platformio.ini

打開工程主目錄下的platformio.ini文件,預(yù)生成的配置文件如下

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:featheresp32]
platform = espressif32
board = featheresp32
framework = arduinoCopy to clipboardErrorCopied

這里用到的主要配置有四個

  1. [env:featheresp32]編譯環(huán)境
  2. platform = espressif32,單片機平臺
  3. board = featheresp32,開發(fā)板
  4. framework = arduino,開發(fā)框架-arduino

后續(xù)還有很多關(guān)于工程的配置都放在這里,同時我們可以添加一條配置board_build.f_cpu = 240000000L,將單片機的主頻提高到240MHZ的主頻。

[env:featheresp32]
platform = espressif32
board = featheresp32
framework = arduino
board_build.f_cpu = 240000000LCopy to clipboardErrorCopied

四、編譯工程

在VsCode中編譯PIO,編譯工程和將編譯結(jié)果下載到開發(fā)板上都非常的方便。

編譯工程可以手動點擊左下角的對號進行,其他操作也可以通過按鈕進行。

圖片

點擊編譯按鈕,看到如下界面則代表編譯成功

圖片

其中打印信息有很多有用的提示,比如工程占用的RAM和Flash大?。梢岳斫鉃橄到y(tǒng)程序大?。?/p>

RAM:   [          ]   4.9% (used 16144 bytes from 327680 bytes)
Flash: [==        ]  16.2% (used 212961 bytes from 1310720 bytes)Copy to clipboardErrorCopied

編譯完成工程,在.pio/build/featheresp32目錄下可以看到firmware.bin,這個就是我們工程編譯之后生成的二進制文件,將該文件下載到開發(fā)板上就可以運行了。

五、PIO快捷鍵

這里再介紹幾個PIO的快捷鍵,在接下來的學習中你肯定能用到

快捷鍵 內(nèi)容
Ctrl+Alt+B 編譯工程
Ctrl+Alt+U 將程序上傳燒錄到開發(fā)板
Ctrl+Alt+S 打開串口Monitor

六、總結(jié)

本節(jié)我們簡單的了解下PIO工程的結(jié)構(gòu)以及配置文件,下一節(jié)我們開始學習如何輸出Hello World!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 程序
    +關(guān)注

    關(guān)注

    116

    文章

    3756

    瀏覽量

    80751
  • 開發(fā)環(huán)境
    +關(guān)注

    關(guān)注

    1

    文章

    218

    瀏覽量

    16567
  • 學習板
    +關(guān)注

    關(guān)注

    0

    文章

    42

    瀏覽量

    12149
  • PIO
    PIO
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    6187
  • vscode
    +關(guān)注

    關(guān)注

    1

    文章

    154

    瀏覽量

    7649
收藏 人收藏

    評論

    相關(guān)推薦

    基于libconfig進行配置文件解析

    本文介紹基于libconfig進行配置文件解析
    的頭像 發(fā)表于 06-08 10:18 ?1321次閱讀
    基于libconfig進行<b class='flag-5'>配置文件</b>解析

    探討PROE的配置文件——系統(tǒng)配置文件config.pro

    PROE的配置文件讓不少初學者感到煩惱,盡管不少教材里都會提到關(guān)于PROE的配置文件。但大多數(shù)顯得過于理論化,而不便于初學者理解,可操作性不強。本文力求以通俗的語言結(jié)合
    發(fā)表于 09-28 15:50 ?0次下載

    ICD配置文件的詳細介紹和配置內(nèi)容的詳細概述

    配置文件配置文件是利用SCL語言描述變電站設(shè)備對象模型后生成的文件,用于在不同廠商的配置工具之間交換配置信息。
    的頭像 發(fā)表于 06-02 11:16 ?1.8w次閱讀
    ICD<b class='flag-5'>配置文件</b>的詳細介紹和<b class='flag-5'>配置</b>內(nèi)容的詳細概述

    Keil的黑色界面配置文件配置方法

    本文檔的主要內(nèi)容詳細介紹的是Keil的黑色界面配置文件配置方法。
    發(fā)表于 12-03 15:05 ?26次下載

    Python進行配置文件的教程免費下載

    本文檔的主要內(nèi)容詳細介紹的是Python進行配置文件的教程免費下載。
    發(fā)表于 09-30 16:41 ?6次下載
    Python進行<b class='flag-5'>配置文件</b>的教程免費下載

    AD8283評估板設(shè)計和配置文件

    AD8283評估板設(shè)計和配置文件
    發(fā)表于 05-31 16:04 ?9次下載
    AD8283評估板設(shè)計和<b class='flag-5'>配置文件</b>

    labview讀寫配置文件實例分享

    labview讀寫配置文件實例分享
    發(fā)表于 11-01 16:05 ?45次下載

    SpringBoot配置文件application

    Map配置 YML配置文件: sys-num: mymap: "{'a':'aaa','b':'bbb'}" 方法內(nèi): public class learnMap { @Value
    的頭像 發(fā)表于 01-13 15:28 ?604次閱讀

    Python程序配置文件管理的最佳工程實踐

    現(xiàn)在配置對象已經(jīng)是單例了,但還有一個問題,它的每個配置項的值都是默認值,我們當然是希望它在創(chuàng)建對象的時候是使用配置文件中的值啦。下面看需求三怎么實現(xiàn)。
    的頭像 發(fā)表于 05-04 10:00 ?666次閱讀

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納
    的頭像 發(fā)表于 10-20 15:04 ?530次閱讀
    KT142C語音芯片<b class='flag-5'>配置文件</b>總是不起作用?<b class='flag-5'>配置文件</b>的問題集中歸納

    linux修改網(wǎng)卡ip配置文件

    Linux是一種開源的操作系統(tǒng),因此,它給用戶提供了很高的自由度,可以根據(jù)個人需要進行各種定制和配置。其中,修改網(wǎng)絡(luò)接口配置文件是常見的操作,可以通過修改網(wǎng)卡ip配置文件來設(shè)置網(wǎng)絡(luò)接口的IP地址
    的頭像 發(fā)表于 11-17 10:51 ?2092次閱讀

    springboot的全局配置文件有幾種

    、服務(wù)器端口等等。本文將詳細介紹Spring Boot的全局配置文件,包括其類型、常見的配置以及使用方法。 第一部分:Spring Boot全局配置文件的類型 Spring Boot
    的頭像 發(fā)表于 12-03 15:28 ?1483次閱讀

    springboot的核心配置文件有哪些

    的工作量。 Spring Boot的核心配置文件主要有以下幾個: application.properties:Spring Boot應(yīng)用程序的主要配置文件。它使用Java的鍵值對格式來定義各種配置屬性
    的頭像 發(fā)表于 12-03 15:30 ?1119次閱讀

    php的配置文件是什么

    PHP的配置文件是一種用于配置PHP解釋器的文本文件。它包含了一系列的指令和選項,用于影響PHP的行為和性能。通過修改配置文件,可以改變PHP解釋器的默認行為,從而滿足不同的需求。 在
    的頭像 發(fā)表于 12-04 15:55 ?1445次閱讀

    oracle配置文件tnsnames怎么配置

    Oracle配置文件tnsnames.ora是一個文本文件,用于定義數(shù)據(jù)庫連接的別名和連接信息。通過配置文件,可以在應(yīng)用程序中使用別名來連接數(shù)據(jù)庫,而不必直接給出數(shù)據(jù)庫的具體連接信息
    的頭像 發(fā)表于 12-06 10:15 ?7387次閱讀