当你点开这个文章的时候,我需要告诉你为什么需要尝试在VSCode下编译SWM341的代码,为什么不使用成熟的Keil或IAR的IDE来开发SWM341呢?
在中国,绝大部分嵌入式工程师,在大学期间,从最简单的51单片机开始学习嵌入式,实验中绝大部分老师都是使用Keil作为编写代码的IDE,可能部分同学了解过使用IAR来编译代码,于是大家基本上认为常用的ARM开发工具就是Keil或IAR,工作中大家也同样沿用Keil或IAR,大家也积累了非常多的破解经验,然而随着科技的进步,Keil和IAR等传统IDE逐渐落伍,愚蠢的代码提示、较慢的编译速度、甚至古老的界面,难以让人忍受,因此大部分人已经开始转而使用VSCode编写代码,而Keil或IAR仅仅作为创建和管理工程、下载固件的后台工具。然而在开发中需要经常切换两个IDE, 有时候会影响猿们的开发体验。
在国外,由于严格的版权,大家普遍使用开源的开发工具,如使用CodeBlock或Eclipse编译51或arm的程序。但是配置比较麻烦,然而随着VSCode的不断进化,如今也有非常多的插件提供舒适的嵌入式开发方式。
PlatformIO是VSCode下的一个轻量级的插件,号称支持1000多种开发板,常见的STM32、STC、GD32、ESP32、AVR等单片机都能完美支持。在使用PlatformIO 的同时,也能享受其他插件的便利,如代码补全、语法高亮、错误提示、调试等,极大的提高编程效率和代码管理效率。

因此国外的开发者已经普遍使用Platformio来开发项目,如著名的3D打印开源项目Marlin就是使用Platformio来管理该项目,轻松处理多达10多种不同架构不同内核的芯片下共用一套代码,安装好Platformio插件后,只需打开工程目录即可直接自动安装所需的必要编译和下载环境,极大降低入门的难度。

那么现在我们开始介绍如何在VSCode下开发SWM341。
在首次打开PlatformIO插件时,由于没有SWM341的支持包,需要手动安装,当然也非常简单,可以参考文章如何在platformio上开发synwit详细了解。以下针对Linux环境为例,只需在终端中执行命令:
pio platform install https://github.com/hysonglet/platformio_synwit.git成功从Github下拉取完支持包后即可开始创建工程,具体时长依赖Github的网速啦。
创建新的例程也非常简单便捷,只需在左侧工具栏中依次点击如下箭头,即可创建,创建的默认目录~/Documents/PlatformIO/Projects
创建成功后即可点击底部快捷工具栏,编译和下载到单片机。
例程中提供了默认的lvgl例程,只需在简单修改文件include/lv_conf.h中的宏即可使能不同的lvgl例程。如下所示,分别让不同的宏使能,重新编译即可生成新的例程。




原文作者:Rust嵌入式;如有侵权,请联系管理员删除。