电子说
对于许多人来说,Arduino IDE是第一个编码经验。在完成工作的同时,它却缺少了大多数现代代码编辑器所具有的关键功能。
Visual Studio Code(VS Code)已迅速成为最受欢迎的代码编辑器之一,但不支持Arduino开发
输入PlatformIO,这是一个用于对Arduino板进行编程的开源工具(还有更多)!了解如何获取PlatformIO并将其用于在VS Code中创建简单的Arduino草图。
项目要求
您将需要:
Arduino兼容板。本教程使用Nano克隆。
可从Arduino网站(免费)获得Arduino IDE。
Visual Studio Code,可从微软获得(免费)。
今天的指南适用于Windows 10,但这也适用于Linux和Mac。
注意: Windows 10应用版本
如何安装PlatformIO
VS代码具有许多可帮助程序员的扩展,而PlatformIO也不例外。从左侧面板打开VS Code Extensions Marketplace,然后搜索 PlatformIO IDE 。单击安装,准备稍等片刻。
注意:请勿在此过程中关闭VS Code,因为它可能导致安装错误。
安装完成后,将在右下角出现提示以重新加载VS Code。单击它,程序将重新启动,显示PlatformIO扩展主页。
设置项目
PlatformIO主页为您提供了多个选项,包括打开现有的Arduino项目和链接。提出想法。今天,您将重新开始,所以请单击新建项目。
系统将提示您输入项目的名称,然后输入您将要使用的板。本教程使用Arduino Nano。 PlatformIO支持超过650个板卡,因此您可能会在列表中找到自己的板卡。
如果您是,则 Framework 标签应自动填充为 Arduino 使用Arduino兼容板。保留位置复选框,以使用默认安装位置。如果您正在使用先前制作的Arduino项目,则只需取消选中此选项。
单击完成并准备进行简短的准备等待。 PlatformIO将下载并安装项目所需的所有依赖项,并在完成后重新启动IDE。
PlatformIO工作流程
VS代码重新启动后您会注意到在资源管理器面板中打开了一个新的项目文件夹。在此阶段,不必知道该目录中的每个文件的功能,您只需将 SRC 目录用于Arduino草图即可。
您还将在VS Code的底部栏中看到几个新图标。这些等效于Arduino IDE中的按钮-表示编译的滴答,表示上传的箭头,以及表示串行监视器的插头。
现在已经完成所有设置,让我们开始编码!
空白程序
PlatformIO为每个新项目创建一个空白草图。
在资源管理器标签中打开它通过导航到 SRC/main.cpp ,将打开草图。您会注意到,该文件的扩展名与常规Arduino草图不同。 CPP 代表C Plus Plus(C ++),这是Arduino语言和IDE使用的编程语言。
注意:本教程使用的是 sketch ,因为对那些具有Arduino IDE背景的人很熟悉。但是,C ++草图通常被称为程序。
您会在这里看到一些熟悉的地方-草图具有 setup 和 loop 功能类似于常规的Arduino草图。主要区别在程序顶部。 #include 标头必须存在于每个PlatformIO项目中,才能正常工作。
现在,让我们设置硬件的Hello World-一个闪烁的LED草图。
LED闪烁
您将创建此Blink草图,我们将遍历下面的每一行。
首先定义板载LED引脚。如果您使用的板上板载LED不使用引脚13,请相应地对其进行更改:
#define onboard 13
使用您的设置功能来设置引脚模式。/p》 pinMode(onboard,OUTPUT);
请注意VS Code将如何向您建议代码,并在按 Enter 键时完成它!
最后,通过将引脚 HIGH 和 LOW 设置为延迟,在循环功能中创建闪烁LED逻辑。
digitalWrite(onboard, LOW);
delay(1000);
digitalWrite(onboard, HIGH);
delay(1000);
如果有任何错误,VS Code会在编码时告诉您,而不必等到编译或上传代码之后。实时的错误检查和完成使编码的麻烦程度降低了,而且速度更快!
接下来,您将学习如何将草图上传到板上。
上载到板上
如果尚未将板子插入USB端口。保存您的草图,然后单击底部栏上的标记图标进行编译,或单击箭头按钮以一次性编译并上传草图。短暂等待后,您的LED应当闪烁!
您可能已经注意到常规Arduino工作流程中缺少一个步骤。通常,您需要指定Arduino连接到哪个 COM 端口。将草图上传到板上时,如果在输出中滚动,则会注意到PlatformIO会自动为您检测板。
串行监视器
最后,向每个功能添加一行代码以测试串行监视器。在安装程序中添加:
Serial.begin(9600);
,然后在循环功能中,每当循环完成时,将一条消息打印到串行监视器:
Serial.println(“loop completed”);
上传草图,然后单击底部栏上的插头图标以打开串行监视器并查看您的消息。
Arduino编码的新世界
使用VS Code和PlatformIO为Arduino编码带来了新鲜的空气。由于Visual Studio的Live Share功能,它还使远程协作变得更加容易。
责任编辑:wv
全部0条评论
快来发表一下你的评论吧 !