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

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

    关注

    67

    文章

    4321

    浏览量

    85410
  • 编码
    +关注

    关注

    6

    文章

    832

    浏览量

    54433
  • Arduino
    +关注

    关注

    184

    文章

    6422

    浏览量

    184627
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    MCUXpresso for VS Code保姆式教程免费送!

    背景 NXP 在 2023 年 7 月 31 日正式发布了 MCUXpresso for VS Code  插件,使得广大的 VS Code 用户可以在熟悉的代码编辑环境中,快速开发基
    的头像 发表于 11-16 08:55 454次阅读
    MCUXpresso for <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>保姆式教程免费送!

    profinet信号编码器和profibus信号编码器哪个更好

    profinet信号编码器和profibus信号编码器哪个更好
    的头像 发表于 11-08 13:37 473次阅读

    在嵌入式中如何利用VS Code进行远程开发呢?

    VS Code几乎是所有的程序员必备的工具之一,据说全球一般的开发者都使用过VS Code这款工具。
    的头像 发表于 11-07 09:27 329次阅读
    在嵌入式中如何利用<b class='flag-5'>VS</b> <b class='flag-5'>Code</b>进行远程开发呢?

    8 个好用的VS Code Python 扩展

    今天为大家分享 8 个好用的 VS Code Python 扩展。 1. Python extension for Visual Studio Code 这个扩展是由微软官方提供的,支持但不
    的头像 发表于 10-16 11:11 283次阅读
    8 个好用的<b class='flag-5'>VS</b> <b class='flag-5'>Code</b> Python 扩展

    基于IAR for arm9.30.1在VS Code调试仿真RA

    基于IAR for arm9.30.1在VS Code调试仿真RA
    的头像 发表于 08-26 08:07 150次阅读
    基于IAR for arm9.30.1在<b class='flag-5'>VS</b> <b class='flag-5'>Code</b>调试仿真RA

    Visual Studio Code - 如何在Visual Studio CodeVS Code)中构建和调试RL78项目

    本视频演示如何在Visual Studio CodeVS Code)中构建和调试LLVM for Renesas RL78项目。 000 介绍051 构建024 调试 原文标题:Visual
    的头像 发表于 08-14 12:05 505次阅读

    基于Arduino的机器学习开发

    本项目采用的开发板是Arduino Nano 33 ble Sense,模型训练平台为SensiML或者Edge Impulse。对于SensiML,模型部署平台为VS CodePlatfo
    的头像 发表于 08-11 11:06 801次阅读
    基于<b class='flag-5'>Arduino</b>的机器学习开发

    VS Code 1.79发布

    想在 Markdown 文档中添加图片或视频?与其浪费时间先手动将文件复制到您的工作区,然后添加指向它的链接,现在你只需将文件拖放到或粘贴到你的 Markdown 中即可。如果该文件当前不是工作区的一部分,VS Code 会自动将该文件复制到你的工作区并插入指向它的链接:
    的头像 发表于 06-11 11:46 340次阅读
    <b class='flag-5'>VS</b> <b class='flag-5'>Code</b> 1.79发布

    VSCode/Platformio是否更适合Esp8266/Arduino项目?

    使用此组合已有几个月了。它工作正常。 我注意到像 Esp8266/Arduino 2.7.2 这样的新版本。没有通过。 然后我注意到 VSCode/PlatformIO 正在使用 Esp8266
    发表于 06-07 07:32

    如何在带有PlatformIO插件的VSCode上使用ESP8266 Arduino?

    你好呀! 我已经绝望了好几天,在我的 IoT 项目上工作让我想到了集成 HTTPS 服务器的地步。 直到几天前,我还在使用 Ubuntu、Eclipse 和 PlatformIO,一切都运行良好
    发表于 05-08 08:16

    基于VS Code开发嵌入式

    很多朋友在开发嵌入式的时候,一般常用Keil MDK、IAR等IDE工具,不过这些都是收费的,而且非常笨重,跨平台开发不方便,依次笔者将推荐使用VS Code开发嵌入式。
    的头像 发表于 04-23 17:24 3981次阅读
    基于<b class='flag-5'>VS</b> <b class='flag-5'>Code</b>开发嵌入式

    Visual Studio Code/PlatformIO为什么无法控制亮度和对比度?

    运行良好。我正在使用 Visual Studio Code/PlatformIO,今天早上我在另一个项目上遇到了一些问题,所以我尝试更新 PlatformIO。今天晚上我发现这些引脚的 PWM 控制似乎
    发表于 04-12 08:09

    您需要尝试的8大 VS Code主题

    VS Code 有许多可用的主题,新的主题也在不断涌现。无论您是喜欢暗黑色系还是浅色系的主题,都不难找到适合自己的主题。但是,有这么多的选择,可能会让您陷入选择困境。
    的头像 发表于 04-03 17:06 2625次阅读