01 简介
在ESP32项目开发过程中,我们总会遇到管理多版本代码,或者需要一个test环境。
根据开发框架,main.cpp 文件在 src 文件夹中,最土的办法是通过修改注释、复制文件等操作管理不同的版本。但是这些方法十分繁琐,都很容易出错。
想要解决上面的问题,可以在 platformio.ini 中配置,构建多个main函数入口。
02 解决方法
在 platformio.ini 中配置,示例如下:
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
| [env] platform = espressif32 framework = arduino board = esp32-s3-devkitc-1 lib_ignore = examples monitor_speed = 115200 board_build.f_cpu = 240000000L
build_src_filter = +<*.h> -<.git/> -<.svn/> +<shared/> +<${PIOENV}/> +<main-${PIOENV}.cpp> lib_deps = Spi Wire build_flags = -D OTA_ENABLE=flase -D RX2=14 -D TX2=12
[env:base] lib_deps = ${env.lib_deps} adafruit/Adafruit PWM Servo Driver Library@^3.0.1 build_flags = ${env.build_flags} -D BASE [env:test] lib_deps = ${env.lib_deps} build_flags = ${env.build_flags} -D TEST
|
然后,在烧录时,可以选择不同的环境,里面的代码和依赖可以不同。