对于许多人来说,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功能,它还使远程协作变得更加容易。
怎样成为一名算法应用工程师
如何打通物联网应用之路的最后一公里
压力传感器在使用中要注意的事项
基于Cortex-M内核的灵动微新品MCU集体亮相 2018灵动MM32协作大会成功举办
企业数字化转型行业专家齐聚,思享制造业数字化网络与数据安全建设新机遇
如何使用VS Code和PlatformIO更好的Arduino编码
科沃斯DG70能不能改变之前扫地机器人一直被人诟病的不足呢?
小米智能音箱怎么样_智能音箱哪个音质好
变压器扩容和增容区别
鼎阳科技推出配备数据记录仪功能的经济型手持示波表
PMP20175用于数码相机的 21W SEPIC 转换器参考设计
士兰微电子推出SD4872系列开关电源电流模式PWM+PFM控制器
行业 | 村田电子在无线耳机中的滤噪对策
aigo国民好物固态硬盘P2000+硬盘盒,性价比首选
小米GaN充电器Type-C 33W全渠道开售
调查显示对半导体封装中铜的使用表示担忧
三维空间桁架结构在给定支撑和载荷条件下的应力、变形分布情况
rs触发器电路图与rs触发器内部电路图
“Helio G90”为游戏而生的芯片,挑战高通游戏手机领域的霸主地位
直流稳压电源的基本功能及使用注意事项