数码营电子:基于微型控制器的编程、电路设计与电子产品制做。邮箱:shumaying@hotmail.com
Configuring Visual Studio Code for Arduino Development
Jump to navigation
Jump to search
Contents
准备工作[edit]
- Download Visual Studio Code and install it.
- Download Arduino IDE, and install it.
- 安装Arduino extension:打开 Visual Studio Code,单击界面左下角的 Manage > Extensions > Search Extensions in Marketplace > "Arduino for Visual Studio Code" by Microsoft。之前已经安装过:C/C++ extension by Microsoft。
- 设置使用Arduino extension的参数。单击:Manage > Settings,搜索:Arduino。将Arduino:path 设置为Arduino IDE 在本机的安装路径:
C:\Program Files (x86)\Arduino (for Windows) /home/yourname/arduino-1.8.12 (for Linux)
如果这里设置错误,后面编译时会提示错误:
创建、编译Arduino程序[edit]
第一步,按F1键(或者:Ctrl+Shift+p),在弹出窗口里,搜索:Arduino,在列表选项里,选择:Arduino:Initialize。
- 此时,系统会提示:no .ino file was found on workspace, initialize sketch first (Press 'Enter' to confirm or 'Escape' to cancel)。这个时候,在提示框里输入新建文件:blicktest.ino,回车确认,创建新文件。
提示: 1. 如果此前没有文件夹,要先建一个文件夹,作为当前的workspace。 2. 如果机子里存有.ino文件,在UBuntu上会被自动识别出来,显示在左边的“EXPLORER”边框内。
- 点击一下页面右上角的“verify”,如果通过,就会在左侧自动生成“.vscode”文件夹。
- 同时,系统自动生成文件:arduino.json(在.vscode文件夹里),并且在界面右下角出现悬浮文字:The workspace is initialized with the Arduino extension support.
- 如果已经通过添加文件的方式,在项目目录树里面创建*.ino文件,则不会提示新建文件。
- 可以在后续下拉列表里选择Arduino 板型。或者,在当前的VScode界面最下端,出现蓝色背景的选项。单击选择Arduino 板型:Arduino/Genuino Uno。此时,系统自动生成文件:c_cpp_properties.json。
- 打开arduino.json 文件,添加以下属性值,作用是使用已经编译过的文件,加快编译速度,也可以找到需要调试的已生成的二进制文件。(不加这句也行,待后边熟悉了,优化的时候再加。)
"output": ".\\build"
打开blicktest.ino 文件,粘贴以下代码:
// 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
}
- 现在编译文件blicktest.ino,在当前的Arduino 格式下,build 变成了:verify。编译完成后,系统自动生成:build文件夹,跟.vscode文件夹在同一级目录下。
- 连接硬件,设置串行端口(上述选择板型的方法)。上载文件到Arduino 板,观察程序运行结果。
Debug Arduino 程序[edit]
第一步,安装 avr-debugger 库文件。[edit]
- 下载地址:https://github.com/jdolinay/avr_debug 。解压后的库文件,直接复制到 Arduino 的库文件夹下面即可。
第二步,给 blicktest.ino 程序添加 avr-debugger 支持。[edit]
- 在VScode里面,按F1键,在弹出的下拉列表里面选择:Arduino:Library Manager 。搜索:avr-debugger。搜索结果显示该库文件:“installed”。鼠标拖至最后,点击:Include Library。可以看到,在blicktest.ino文件顶部已经自动添加:
#include <app_api.h> #include <avr8-stub.h>
- 在setup()函数里面,调用函数:debug_init(),作用:Initialize the debug driver。
void setup() {
// initialize the debug driver。
debug_init();
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
- 保存文件,编译(verify)代码,结果正常。
第三步,在 Debug 过程中,关闭优化(Optimization)功能。[edit]
- 打开前面安装的 avr-debugger 文件夹,复制文件:platform.local.txt,粘贴至 Arduino IDE 在本机的安装目录下的avr文件夹内,默认安装路径为 C:\Program Files.(x86)\Arduino\hardware\arduino\avr\ 。
第四步,创建launch.json 文件,配置 Launch 参数,告知 VScode 如何运行需要调试的代码。[edit]
- 在菜单栏里,点击:Debug->Start Debugging,在弹出的窗口里,选择:C++(GDB/LLDB),继续选择:Default Configuration。注意:不要选择第一项:Arduino。该项设置仅适合于自带调试接口电路的Arduino板。
- 此时,在项目文件列表的 .vscode文件夹里,自动生成文件:launch.json。修改该文件内下列几项内容:
"program": "${workspaceFolder}/build/blicktest.ino.elf",
注意:blicktest.ino.elf 文件的名字需要修改为当前要debug的文件名。
"miDebuggerPath": "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\bin\\avr-gdb.exe",
添加属性:
"miDebuggerServerAddress": "\\\\.\\COM15",
注意:此处的COM3需要修改为当前实际使用的测试端口。
将 "setupCommands"属性,设置为:
"description": "Remote debug enable",
"text": "-gdb-set debug remote 1",
"ignoreFailures": false
保存 launch.json 文件。调试工作准备完毕。
第五步:开始调试。[edit]
- 编译,上载代码到 Arduino 板上。