Arduino极速入门教程——两篇文章让你会用Arduino(下)
接上篇关于Arduino基础环境配置、界面介绍和C语言基础,这一篇的内容为具体如何在Arduino中进行编程。 在VSCode上配置Arduino 什么是VSCode VSCode,即Visual Studio Code,是微软制作的一个开源免费编辑器,当今始接最热门的主流代码编辑器之一。百度vscode或者点我给出的这个链接,可以进到官网下载。编辑器与IDE(集成开发环境)不同,VSCode更加像一个可以加载插件的记事本,不过如果配置得当,VSCode也可以用来当作一个简陋的IDE使用。 为什么用VSCode Arduino IDE本身其实只是一个非常简陋的IDE,没有代码补全、丰富的高亮、代码跳转重构等功能,而这些我们都可以在VSCode上进行实现,这可以是不必要的(如果你能力足够强用记事本直接写代码也是可行的),但是作为初学者或者开发者使用这些功能能够让你快速学习或者实现你想要实现的功能。 怎么配置 先下载并安装VSCode。 接着下载插件,在最左边选择扩展按钮,然后搜索并安装我标出的这几个插件,你就能有一个可以装Arduino的中文VSCode了(我的VSCode与你们的应该样式不同,因为我安装了样式的插件): 然后打开安装好的VSCode,左上角选择:文件-打开文件夹,然后选择一个你以后专门保存Arduino代码的文件夹打开。 在左上角文件选项中选择首选项-设置。 然后设置界面的右上角,选择打开设置(json) 然后我们就进入到了一个JSON文件界面,在原本的文件开头如下内容,不过需要注意:下面第一行的path为你安装Arduino的位置,我安装在D:/Software/Arduino文件夹里的,如果设置自己的地址也请按照我这种双斜杠的格式来写。 "arduino.path": "D:\\Software\\Arduino", "C_Cpp.intelliSenseEngine": "Tag Parser", "editor.insertSpaces": true, "files.autoGuessEncoding": true, "arduino.logLevel": "info", "explorer.confirmDelete": false, "editor.detectIndentation": false, 点击Ctrl+s保存JSON文件,然后重启VSCode,现在你的VSCode环境就配置好了。 Arduino的程序内容 打开例程 现在我们先来打开一个官方例程,首先打开Arduino IDE,选择文件-示例-Basic-Blink,这是Arduino官方提供的一个灯光闪烁程序。 点开后按Ctrl+S,IDE会告诉你该文件处于只读状态,需要将项目保存在其它位置,点击确定,然后将文件保存在我们前面设置的VSCode工作文件夹里,然后我们就可以退出并通过VSCode打开它了。 例程将会是我们很好的学习资源,这些例程有些来自于开发板,有些来自于函数库,有些来自于官方,但是我们如果已经安装好的东西,找例程并且想要在VSCode中进行修改测试或者仅仅是查看,都可以通过这种方式来。 程序结构 我们现在可以发现其实这个Blink中有两个函数setup和loop,它们的功能我在下图中标示了: setup和loop是Arduino的逻辑核心,普通的Arduino程序都是基于这两个函数进行运行的,一般我们在setup中初始化环境,然后在loop区域写我们需要实现的功能。 如果想知道这两个函数是怎么实现的,可以查看{你的Arduino安装地址}\hardware\arduino\avr\cores\arduino中main.cpp和Arduino.h文件,大概意思就是我们在程序中实现的setup和loop函数将会通过Arduino.h被引用,然后在main.cpp中被执行,Arduino.h只是一个引用传递文件,这里我们重点关注main.cpp: 功能函数 现在我们再来看看Blink文件: // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } 前面那一堆介绍注释我就不复制了,有兴趣自己看,我们现在关注程序中出现的功能函数:pinMode()、digitalWrite()、delay()。 ...