0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用VS Code和PlatformIO更好的Arduino编码

454398 来源:网络整理 作者:网络整理 2019-11-29 09:30 次阅读

对于许多人来说,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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    69

    文章

    4731

    浏览量

    87118
  • 编码
    +关注

    关注

    6

    文章

    933

    浏览量

    54743
  • Arduino
    +关注

    关注

    187

    文章

    6461

    浏览量

    186565
收藏 人收藏

    评论

    相关推荐

    Microchip发布面向VS Code的MPLAB扩展早期体验版本

    为充分利用Microsoft Visual Studio Code (VS Code) 的多功能性,Microchip Technology(微芯科技公司)发布面向VS
    的头像 发表于 08-28 10:01 503次阅读

    在rtthreadstudio中安装platformio,一直报出platformio未安装怎么解决?

    我在rtthreadstudio中安装platformio,显示是成功的,但是创建基于platformio的应用工程时,一直报出platformio未安装。能否解决。电话:131**4391,可加微信。能否帮忙解决?
    发表于 07-25 06:12

    求助,请问如何在RTOS SDK 1.5的PlatformIO IDE ESP8266实现MQTT?

    is not supported by PlatformIO IDE in Visual Studio Code) 现在,我的ESP8266已成功连接到移动热点作为工作站模式。但是现在我必须将这个
    发表于 07-08 06:22

    Visual Studio Code的 espressif-idf插件下出现卡顿的原因?

    环境:VScode 插件:ESPRESSIF-IDF 使用快捷键ctrl+e +d进行编译下载 第一次均没有问题,但重复操作几次过后可能导致vs code卡死并要求重启 使用例程也是一样的, 通常
    发表于 06-25 06:51

    请问ESP32-SOLO-1单核PlatformIO怎么设置?

    如题,platformIO配置中默认是双核的,没办法使用ESP32-SOLO-1,搜索了很多文章,目前只有一个方案测试可行,就是使用git(https://github.com/lbernstone
    发表于 06-18 07:48

    ESP32-S3-N16R8如何设置platformio呢?

    前两天刚买的板子想问下platformio上如何设置呢? 我用默认的esp32-s3-devkitc-1 代码跑不起来哦。
    发表于 06-13 07:59

    芯海 32 位 MCU 开发调试 ,基于 VS Code 插件实现芯海 32 位 MCU 开发调试

    编译器命令行参数、GCC 链 接脚本、JLink 配置等,而且在推广和移植时也会遇到比较多的问题。因此我们开发了基于 VS Code 的插件,目的是统一开发工具、简化用户操作、提高开发效率,不需要学习
    发表于 05-16 10:46

    VS CodeVS Codium之间的区别有哪些?你选哪个?

    VS Codium 是一个 VS Code 的克隆版本,百分之百免费且开源。
    的头像 发表于 02-23 15:28 1498次阅读
    <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>和<b class='flag-5'>VS</b> Codium之间的区别有哪些?你选哪个?

    如何将增量旋转编码器与Arduino连接

    在本教程中,您将学习如何将增量旋转编码器与Arduino连接,以读取旋钮的运动。这对于在机器人和其他应用程序中创建用户界面或读取机械位置非常有用。
    的头像 发表于 02-11 10:00 1308次阅读
    如何将增量旋转<b class='flag-5'>编码</b>器与<b class='flag-5'>Arduino</b>连接

    Simplicity Studio 5扩增功能支持以VS Code开发

    随着SimplicityStudio 5 (SSv5) 5.6.0.0版本的发布,SiliconLabs(亦称“芯科科技”)已经引入了针对Visual Studio CodeVS Code)作为
    的头像 发表于 01-29 10:34 855次阅读
    Simplicity Studio 5扩增功能支持以<b class='flag-5'>VS</b> <b class='flag-5'>Code</b>开发

    如何设置VS代码配置来调试嵌入式处理器

    如果您开始使用Visual Studio CodeVS Code)开发嵌入式软件,马上需要回答的一个问题是:“如何调试我的代码?”在微控制器(MCU)供应商提供的使用Eclipse的IDE中,调试
    的头像 发表于 12-05 11:08 1319次阅读
    如何设置<b class='flag-5'>VS</b>代码配置来调试嵌入式处理器

    code blocks怎么调试

    Code::Blocks是一个功能强大的集成开发环境(IDE),主要用于C和C++编程。调试是开发过程中不可或缺的一部分,可以帮助开发人员找到代码中的错误并进行修复。Code::Blocks提供了
    的头像 发表于 11-26 10:26 2325次阅读

    codeblocks相比vs有什么优势

    Code::Blocks和Visual Studio(VS)都是流行的集成开发环境(IDE),用于编写和调试各种编程语言的应用程序。虽然它们在很多方面相似,但它们也有一些区别,每个工具都有其各自
    的头像 发表于 11-26 09:52 2929次阅读

    什么是曼彻斯特编码和差分曼彻斯特编码?其特点如何?

    编码: 曼彻斯特编码是一种非归零编码(Non-Return-to-Zero code),它将每个数据位划分为两个时间段。在第一个时间段,信号的电压保持不变;而在第二个时间段,信号的电压
    的头像 发表于 11-22 16:37 1w次阅读

    低代码(Low-Code)是什么?低代码的特点有哪些?

    低代码(Low-Code)是一种软件开发方法,它通过图形化界面和少量的编码来创建软件应用程序。
    的头像 发表于 11-21 09:57 3706次阅读