VSCode + PlatformIO + STM32/ESP32 ARDUINO

文章目录

    • 一、安装PlatformIO
      • 1.安装Python
      • 2.如果安装出现错误提示,按照[https://www.jianshu.com/p/e5dc9045c98f?utm_campaign=shakespeare](https://www.jianshu.com/p/e5dc9045c98f?utm_campaign=shakespeare)中的方法执行一遍
      • 3.添加PlatformIO
    • 二、两种方式建立PlatformIO工程
      • 1.新建工程
      • 2.编译
    • 三、新建/导入arduino工程
    • 四、添加本地库
    • 五、Upload
    • 六、stm32 debug
      • 1.打开工程配置
      • 2.选择 new option
      • 3.选择Upload option 里面的 upload_protocol
    • 七.I2Cdev.h: No such file or directory
    • 八.ESP32 FLASH空间不够


一、安装PlatformIO

1.安装Python

如果你电脑里没有安装Python,最好安装一下,安装时勾选自动添加环境变量

2.如果安装出现错误提示,按照https://www.jianshu.com/p/e5dc9045c98f?utm_campaign=shakespeare中的方法执行一遍

VSCode + PlatformIO + STM32/ESP32 ARDUINO_第1张图片
在控制台中确定这两个命令是否在执行,剩下的就是等待了…

3.添加PlatformIO

VSCode + PlatformIO + STM32/ESP32 ARDUINO_第2张图片
第一次安装PlatformIO可能会卡在安装PlatformIO Core上很久,最好开启加速器

安装好platformIO后不要心急,一定要把插件自动更新关闭,以免重新打开时因为网络问题又需要重新安装,会十分痛苦
如果已经遇到需要重装PlatformIO Core,就直接删除PlatformIO IDE,再删除图片中的
VSCode + PlatformIO + STM32/ESP32 ARDUINO_第3张图片

VSCode + PlatformIO + STM32/ESP32 ARDUINO_第4张图片
VSCode + PlatformIO + STM32/ESP32 ARDUINO_第5张图片
关闭以上更新选项

近来刚接触 Arduino,想做个小项目,网上都都说 Arduino 自带的IDE不人性化,推荐的是用 VScode搭配 PlatformIO。但是这个插件非常不稳定,各种坑!

有的时候安装 Library 点击了 Add 以后会一直转,等半天没反应。更难受的是有时候连主页都进不去,一直显示 Loading,VScode关掉重开还是一样,在网上找了很多建议的解决方案。

总结如下:

需要
需要更新
端口被杀毒软件屏蔽
需要从 Terminal 进入:https://github.com/platformio/platformio-vscode-ide/issues/205
折腾半天发现都没用,最后解决问题的方法是:重启电脑,对你没看错,重启一下电脑就行了,光重启 VScode 是不够的!

另外如果下载 Library 的时候 Add 一直在转,可以关掉以后去看看 Installed 的列表,有可能已经安装完成了,只是安装界面没反应过来!

二、两种方式建立PlatformIO工程

VSCode + PlatformIO + STM32/ESP32 ARDUINO_第6张图片

1.新建工程

VSCode + PlatformIO + STM32/ESP32 ARDUINO_第7张图片

2.编译

VSCode + PlatformIO + STM32/ESP32 ARDUINO_第8张图片


三、新建/导入arduino工程

esp32-s2 不能找到对应的板子,可参考
https://blog.csdn.net/yaddi/article/details/115715395
可以将一些在arduino IDE中写的工程直接无缝导入VSCODE
VSCode + PlatformIO + STM32/ESP32 ARDUINO_第9张图片
需要注意的是在导入时可能出现明明文件夹中有arduino的ino
文件,却提示无法导入的情况 ,有可能是文件夹名字和ino名字不相同导致的,改为相同的就可以导入了


四、添加本地库

直接将库放到lib文件夹下,可以库随工程走,并且可以跳转到库的源码,推荐采用此方式
VSCode + PlatformIO + STM32/ESP32 ARDUINO_第10张图片
并将路径添加到配置中 注意格式
VSCode + PlatformIO + STM32/ESP32 ARDUINO_第11张图片


五、Upload

VSCode + PlatformIO + STM32/ESP32 ARDUINO_第12张图片
点击 upload 提示Tool Manager: Installing platformio/tool-mkspiffs @ ~2.230.0
一定要关闭加速器 不然会一直卡在这里

串口监测VSCode + PlatformIO + STM32/ESP32 ARDUINO_第13张图片
默认情况下,波特率是9600,如果需要修改,只需在项目的platformio.ini文件中,添加:

monitor_speed = 115200

六、stm32 debug

1.打开工程配置

VSCode + PlatformIO + STM32/ESP32 ARDUINO_第14张图片

2.选择 new option

VSCode + PlatformIO + STM32/ESP32 ARDUINO_第15张图片

3.选择Upload option 里面的 upload_protocol

jlink
作为调试下载器
添加 Build Options
下的build_flag
-g
生成调试信息 否则无法调试
VSCode + PlatformIO + STM32/ESP32 ARDUINO_第16张图片


七.I2Cdev.h: No such file or directory

github i2cdevlib


八.ESP32 FLASH空间不够

仅仅添加蓝牙和WiFi几行代码,flash就不够了
是因为esp32pico的默认分区表的appsize只有1.2M
需要将分区表改为huge_app.csv,这样就能多出2M的flash了

不理解的是添加wifi 代码量怎么会突然增加这么多,我看别人使用MQTTflash也只用了30%而已

解决方法 参考

VSCode + PlatformIO + STM32/ESP32 ARDUINO_第17张图片
VSCode + PlatformIO + STM32/ESP32 ARDUINO_第18张图片

直接在platformio.ini中添加

board_build.partitions = huge_app.csv

VSCode + PlatformIO + STM32/ESP32 ARDUINO_第19张图片
编译后可以看到
VSCode + PlatformIO + STM32/ESP32 ARDUINO_第20张图片
工程建立好后最好不要改动工程名字或路径
因为一些依赖项不能自动更改,手动更改也比较麻烦

你可能感兴趣的:(#,vs/vscode,vscode,stm32,ide)