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

    文章

    5037

    浏览量

    88221
  • 编码
    +关注

    关注

    6

    文章

    959

    浏览量

    54986
  • Arduino
    +关注

    关注

    188

    文章

    6478

    浏览量

    188131
收藏 人收藏

    评论

    相关推荐

    用于 SPI 绝对编码器的 Arduino 示例代码

    : [Arduino 板] [AMT22 编码器] [AMT-06C-1-036 电缆] ,或带有相应连接器的类似电缆 [Arduino IDE] [下载 AMT22 单圈样例代码] [下载 AMT22 多圈样例代码]
    的头像 发表于 01-26 21:35 257次阅读
    用于 SPI 绝对<b class='flag-5'>编码</b>器的 <b class='flag-5'>Arduino</b> 示例代码

    用MCUXPresso for VS Code插件 从0开始打造HelloWorld

    上一篇中Zephyr的Hello 2025,Hello World,小编为大家介绍了使用MCUXPresso for VS Code插件来导入一个Hello World工程。 相信一定有玩家跃跃欲试
    的头像 发表于 01-16 09:20 737次阅读
    用MCUXPresso for <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>插件 从0开始打造HelloWorld

    使用MCUXpresso for VS Code插件开发Zephyr的hello world

    本期来到Zephyr实战经验演练,小编带着大家一起使用MCUXpresso for VS Code插件来开发一个属于Zephyr的hello world。
    的头像 发表于 01-03 09:21 682次阅读
    使用MCUXpresso for <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>插件开发Zephyr的hello world

    Zephyr领进门系列:MCUXPresso for VS Code插件安装

    在上一期-Zephyr的构建工具,我们为大家介绍了一位新朋友,Zephyr OS。相信通过上一篇的介绍,大家已经对这一OS有了一些简单的了解。那么本期小编将带着大家一起从0开始结合VS Code搭建
    的头像 发表于 12-19 09:53 1307次阅读
    Zephyr领进门系列:MCUXPresso for <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>插件安装

    IAR升级VS Code调试扩展,引入Listwindow技术

    IAR近日宣布对VS Code中的调试扩展IAR C-SPY调试器进行了重要升级。此次升级的核心亮点在于引入了IAR独有的Listwindow技术,为嵌入式设备调试设立了新的标杆
    的头像 发表于 12-11 11:15 392次阅读

    ​IAR C-SPY为VS Code社区树立调试新标准

    全球领先的嵌入式系统开发软件解决方案供应商IAR宣布,对VS Code中的调试扩展IAR C-SPY调试器进行了重大升级。此次升级引入了IAR的Listwindow技术,进一步提升了调试能力,使IAR C-SPY调试器在VS
    的头像 发表于 12-06 10:27 309次阅读

    Vector推出一套基于Visual Studio Code的免费插件

    Studio Code的免费插件,更好地配合CANoe Server Edition和CANoe,为开发与测试工程师提供便利。这些插件旨在为用户提供一个功能
    的头像 发表于 11-24 14:15 721次阅读
    Vector推出一套基于Visual Studio <b class='flag-5'>Code</b>的免费插件

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

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

    在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 2218次阅读
    <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>和<b class='flag-5'>VS</b> Codium之间的区别有哪些?你选哪个?