背景
最近一直在用simpleFOC做BLDC电机驱动开发,simpleFOC是一个开源库,基于Arduino平台的,其底层调用了很多arduino的函数。但是ArduinoIDE的编译速度实在是太慢了,动不动就是十几分钟。网上查找发现了一个可以完全替代ArduinoIDE软件,platformIO.具体安装使用可以参考官方文档:
问题总结
问题1: 测试BLDC_Driver_6PWM例程时,platformIO下载后无反应,同样的程序Arduino下载后正常
解决: 在platformio.ini启动文件中添加:lib_archive = false
问题2: 在VScode中关闭后再打开的工程,在platformIO中无法编译下载。
解决: 在platformIO–>Home页面中,点击打开工程,重新把工程加载到platformIO的工作环境中
**问题3:**第一次使用board时,会自动下载一些关联文档,下载时报错;但是下载好了,之后使用都正常
**解决:**因为PC上开了VPN,关闭VPN。等依赖库下载完成后,再打开VPN就不会报错了。
其它
platformIO是在VSCode基础上的一个扩展插件。使用时很方便,代码跟ArduinoIDE完全兼容,特别注意的是需要配置启动文件,很多地方调试出问题都是启动文件设置的问题。这里放一个示例:
[env:bluepill_f103c8_128k]
platform = ststm32
board = bluepill_f103c8_128k
framework = arduino
debug_tool = stlink
upload_protocol = stlink
lib_deps = askuric/Simple FOC @ ^2.2.2
lib_archive = false
monitor_speed = 115200
build_flags =
-D PIO_FRAMEWORK_ARDUINO_SERIAL_DISABLED
-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC