• PLATFORMIO学习文档之platformio.ini项目配置文件


    官网文档: https://docs.platformio.org/en/latest/projectconf/index.html
    每个 PlatformIO 项目在项目的根目录中都有一个名为platformio.ini的配置文件 。这是一个 .ini 后缀文件。

    platformio.ini分为很多配置块(以中括号[]为标志,,例如[platformio])内部参数用键/值对表示。用分号(;)开头的行将表示注释。

    可以通过两种方式指定多个值选项:

    1、用“,”(逗号+空格)拆分值
    2、多行格式,每个新行至少以两个空格开头。
    以下是常见的配置块及其配置参数:
    块[platformio]
    通用选项
    目录选项
    块 [env]
    常见的[env]
    运行环境[env:NAME]
    选项
    变量

    [platformio]
    default_envs = nodemcuv2
    
    ; Set/override default options for each "[env:***]"
    [env]
    build_flags =
        -D VERSION=1.2.3
        -D DEBUG=1
    lib_deps_builtin =
        SPI
        Wire
    lib_deps_external =
        bblanchon/ArduinoJson @ ~5.6,!=5.4
        https://github.com/gioblu/PJON.git#v2.0
        IRremoteESP8266=https://github.com/markszabo/IRremoteESP8266/archive/master.zip
    
    [env:nodemcuv2]
    platform = espressif8266
    framework = arduino
    board = nodemcuv2
    
    ; Build options
    build_flags =
        ${env.build_flags}
        -DSSID_NAME=HELLO
        -DSSID_PASWORD=WORLD
    
    ; Library options 
    lib_deps =
        ${env.lib_deps_builtin}
        ${env.lib_deps_external}
        https://github.com/me-no-dev/ESPAsyncTCP.git
        knolleary/PubSubClient@^2.8
        paulstoffregen/OneWire
    
    ; Serial Monitor options 串口监控设置项,需要跟程序内部配置的波特率相同,否则会出现串口监控打印乱码的问题
    **monitor_speed = 115200**
    monitor_flags =
        --encoding
        hexlify
    
    ; Unit Testing options
    test_ignore = test_desktop
    
    [env:bluepill_f103c8]
    platform = ststm32
    framework = arduino
    board = bluepill_f103c8
    
    ; Library options
    lib_deps = ${env.lib_deps_external}
    
    ; Debug options
    debug_tool = custom
    debug_server =
        ${platformio.packages_dir}/tool-jlink/JLinkGDBServer
        -singlerun
        -if
        SWD
        -select
        USB
        -port
        2331
        -device
        STM32F103C8
    
    ; Unit Testing options
    test_ignore = test_desktop
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68

    lib_deps 依赖库的版本区别

    env:my_build_env]
    platform = infineonxmc
    framework = wiringpi
    lib_deps =
      # 
      # 以符号^加版本号表示向上兼容并且具有新发布的功能
      vshymanskyy/TinyGSM @ ^0.11.5
    
      # Accept only backwards compatible bug fixes
      # 以符号~加版本号表示仅向上兼容
      vshymanskyy/TinyGSM @ ~0.11.5
    
      # 指定版本
      vshymanskyy/TinyGSM @ 0.11.5
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    C++歌曲播放管理系统
    面试官:Java 池化技术你了解多少?
    第四章 MyBatis缓存和注解的使用
    QGraphicsView添加item不显示的问题
    JSP 图书管理系统myeclipse开发mysql数据库MVC模式java编程网页设计
    canvas基础4 -- 图像
    Websocket在Java中的实践——自动注册端点
    多线程并发或线程安全问题如何解决
    Redis(七) 主从复制(二)哨兵模式
    11.动名词
  • 原文地址:https://blog.csdn.net/weixin_37391237/article/details/127850116