一板网电子技术论坛

风筝
发表于: 2020-11-10 10:42:31 | 显示全部楼层

Arduino IDE是一款出色的编程工具,易于使用,并且包含构建项目所需的所有资源,但是从代码编辑器方面来看,这并不是一个理想的工具。它缺少诸如IntelliSense、代码建议、自动完成、自动更正和调试工具之类的编程辅助功能,这些功能使具有大型代码库的项目的开发变得容易,并且使开发人员易于使用Visual Studio Code和Atom等代码编辑器。基于以上原因,加上这些编辑器的庞大用户群导致了插件/扩展的开发,从而使其中一些可以用于Arduino和其他兼容板的开发代码。

Programming-Arduino-With-Visual-Studio-Code.png


在本篇文章中,我们将了解如何使用这些扩展对Arduino进行编程。现在市面上存在大量的代码编辑器,并且已经开发了各种不同的扩展,但是在本文中,我们将专注于Visual Studio Code(VScode)作为我们的代码编辑器,并探索将其与Platform.io和Arduino扩展一起使用。在本文中,您将知道如何使用VScode上的Arduino和Platform.io扩展为Arduino和兼容的电路板开发代码。


所需的组件

我们将使用Arduino Blink示例来演示,因此您只需要以下两种开发板。

1.   Arduino Uno开发板

2.  NodeMCU


这些开发板的任何版本都可以,只要您在使用Arduino IDE进行编程时能很好地工作即可。除上述组件外,您还需要最新的VScode设置。单击此链接下载安装文件并将其安装在您的计算机上。确保在安装过程中勾选“add files to path”选项。安装后,重新启动计算机。完成后,我们现在可以使用扩展了。


ARDUINO扩展

Arduino IDE for VScode (Visual Studio Code) 是最早开发的扩展插件之一。Arduino社区开发了一个扩展版本,而Microsoft开发了另一个版本。在本教程中,我们将使用Microsoft版本的Arduino扩展。

VISUAL STUDIO.png


功能和特性

Visual Studio Code Arduino扩展保留了Arduino IDE随附的易用性,还提供了对Visual Studio代码中嵌入的精妙功能的访问代码和调试容易得多。扩展说明中所述的一些特性和功能包括:

√    Arduino草图的智能感知和语法高亮显示

√    在Visual Studio Code中验证并上传您的草图

√    内置板和库管理器

√    内置示例列表

√    内置串口监控器

√    命令面板(F1)集成常用命令(例如,验证,上传...)

√    集成Arduino调试


要求

唯一的要求是从arduino.cc安装Arduino IDE。该扩展要求IDE版本为1.6.x及更高版本。但是,请尽量避免使用版本1.8.7,因为它存在库和开发板安装/更新的问题。


安装

可以从扩展市场或通过VScode中的命令行安装Arduino扩展。 启动VScode编辑器。您应该会看到一个欢迎页面(如下所示)->单击扩展图标访问市场。

1.png


在搜索栏中输入Arduino,然后选择一个由Microsoft开发的页面。单击安装按钮,如下所示,并在安装完成后重新启动VScode。

2.png


重新启动后,Arduino扩展应该在您启用的扩展下可见。完成安装后,我们现在可以继续使用Arduino运行示例了。


示例

按F1功能键在VScode上打开命令行(command line)。命令行出现后,键入Arduino。它会向您显示适用于Arduino的命令列表,如下所示:

arduinoff.png


使用这些命令,您可以安装新的Arduino库,安装新的板卡,选择要上传代码的目标板卡,选择烧写器以及几乎可以使用Arduino IDE进行的所有操作甚至更多。如前所述,我们将以Arduino blink示例为例。首先,按F1并选择“Arduino: Examples”选项。导航并选择blink示例。

4.png


这将在新窗口中的资源管理器窗格下打开包含草图的文件夹。如果您希望对代码进行任何更改,请选择.ino文件。

5.png


准备上传代码吗?就像​​使用Arduino IDE一样,按F1功能按钮,然后选择“Arduino:Board configuration”选项以设置目标板(本文中为Arduino Uno)。

Select-board-type.png


按F1后,连接Arduino开发板并选择“Arduino:select serial port”选项。它将显示所有连接到串行端口的设备的列表。选择您的Arduino连接到的那个。

7.png


接下来,通过单击功能菜单中的“Arduino: Select programmer”选项来选择烧写器。

select-programmer-1.png


完成此操作后,我们现在可以上传代码了。如果您对其进行了更改,并且想在上传之前验证代码,则可以在按F1之后使用“Arduino: Verify”选项。如果代码令人满意并且可以上载,请按F1并单击“Arduino: upload function”。如果认真执行所有步骤,则过程应该很容易,并且代码应可以成功上载,如下所示。

8.png


PLATFORM.IO扩展

Platform.io是一个开放源代码平台,旨在促进物联网解决方案的部署。它允许轻松集成IoT特定功能,例如远程固件更新和测试。该平台支持Arduino、Espressif以及TI MSP430、Tiva等产品的多种开发板。它还支持诸如Arduino、用于TI板的Energia和Mbed之类的框架,使其成为用于IoT的最全面的跨平台开发工具之一。


Platform.io功能

根据其网站的描述,Platform.io的杰出功能包括:

√    跨平台构建系统,无需外部依赖OS软件:550+嵌入式板、30 +开发平台、15 +框架

√    PIO Unified Debugger

√    PIO远程

√    PIO Unit Testing

√    C / C ++ 智能代码完成功能

√    C / C ++ Smart Code Linter可实现快速的专业发展

√    数百个受欢迎的库的库管理器

√    多窗格的多项目工作流程

√    深色和浅色主题

√    串口监控器

√    支持带有PortioIO Core(CLI)和CLI工具的内置终端(pio,platformio)


就像我们使用VScode的Arduino扩展一样,我们将看看VScode的platformio.org扩展如何用于Arduino板编程。


安装

就像Arduino扩展一样,Visual Studio代码的platform.io扩展也可以可以通过扩展市场安装。

单击扩展/程序包管理器图标,打开后,在搜索栏输入“platformIO IDE”,然后单击安装按钮,如下所示。安装后,重新加载VScode以使安装生效。重新加载完成后,边栏上将显示platform.io图标,并且platform.io工具栏将添加到VScode的状态栏中。工具栏包含用于常用命令的按钮。这使得无需太多导航即可轻松快速构建,上载或执行任何命令。

the-platform.io-toolbar.png


示例

如前所述,我们还将在此处使用blink示例。要创建一个新项目,请单击platform.io主页图标,然后选择“New Project”按钮。将会打开类似于以下所示的窗口。

select-board-platform.io_.png


该窗口将允许您选择电路板、框架和其他东西来设置要与目标电路板一起使用的IDE。由于我们将使用Arduino Uno,因此将其选择为板类型,并选择Arduino IDE作为平台。如果要使用NodeMCU,则需要选择nodemcu作为主板类型,并选择Arduino或ESPressif 8266作为框架。

完成设置后,将创建一个新的项目文件夹。打开src文件夹下的main.cpp文件为您的项目编写代码。

由于我们使用的是blink示例,因此您可以将以下代码复制并粘贴到代码编辑器中。

  1. /**
  2. * Blink
  3. *
  4. * Turns on an LED on for one second,
  5. * then off for one second, repeatedly.
  6. */
  7. #include "Arduino.h"

  8. // Set LED_BUILTIN if it is not defined by Arduino framework
  9. // #define LED_BUILTIN 13

  10. void setup()
  11. {
  12.   // initialize LED digital pin as an output.
  13.   pinMode(LED_BUILTIN, OUTPUT);
  14. }

  15. void loop()
  16. {
  17.   // turn the LED on (HIGH is the voltage level)
  18.   digitalWrite(LED_BUILTIN, HIGH);

  19.   // wait for a second
  20.   delay(1000);

  21.   // turn the LED off by making the voltage LOW
  22.   digitalWrite(LED_BUILTIN, LOW);

  23.    // wait for a second
  24.   delay(1000);
  25. }
复制代码

完成此操作后,使用工具栏上的“Build”按钮构建代码,并使用“Upload”按钮将其上传到目标Arduino板。如果安装正确完成,则应该在控制台窗口中看到成功。

lasr.png


总结

我们今天介绍的两个扩展功能非常强大。它们可用于为与Arduino IDE兼容的所有类型的开发板以及与Arduino不兼容但plaform.io IDE支持的板开发代码。这些扩展提供了很大的灵活性和功能,使具有大型代码库的项目的开发变得容易,从而确保您不会通过代码建议和智能感知来重复代码。它们还可以确保将项目的所有文件都保存在一个文件夹中,这使得操作和移动内容变得容易。这对于您的下一个大型项目可能会很方便。


如果您在设置方面遇到任何困难,请随时在本文下面回复。以上就是本篇文章的全部内容。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 551 | 回复: 1061



手机版|

GMT+8, 2021-1-16 04:36 , Processed in 0.075191 second(s), 32 queries . Powered by Discuz! X3.4

YiBoard一板网 © 2015-2020 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表