Visual studio code Arduino vscode:标识符“1”;sprintf";是未定义的
我刚刚为vscode安装了Visual studio code Arduino vscode:标识符“1”;sprintf";是未定义的,visual-studio-code,arduino,vscode-settings,arduino-ide,Visual Studio Code,Arduino,Vscode Settings,Arduino Ide,我刚刚为vscode安装了vscode-arduino插件,因为我真的想停止在那个可怕的IDE中工作。在设置时,我遇到了几个问题,其中一个要求我将安装的arduino IDE降级到1.8.6版,另一个要求我将defines:USBCON添加到我的c_cpp_properties.json中。以下是我的.vscode文件夹中的所有文件: arduino.json { "board": "arduino:avr:nano", "con
vscode-arduino
插件,因为我真的想停止在那个可怕的IDE中工作。在设置时,我遇到了几个问题,其中一个要求我将安装的arduino IDE降级到1.8.6版,另一个要求我将defines:USBCON添加到我的c_cpp_properties.json中。以下是我的.vscode
文件夹中的所有文件:
arduino.json
{
"board": "arduino:avr:nano",
"configuration": "cpu=atmega328old",
"sketch": "EEPROM_Programmer.ino"
}
{
"configurations": [
{
"name": "Win32",
"includePath": [
"C:\\Program Files (x86)\\Arduino\\tools\\**",
"C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\**",
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\**"
],
"forcedInclude": [
"C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino\\Arduino.h"
],
"intelliSenseMode": "msvc-x64",
"compilerPath": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\bin\\Hostx64\\x64\\cl.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"defines": ["USBCON"]
}
],
"version": 4
}
c\u cpp\u properties.json
{
"board": "arduino:avr:nano",
"configuration": "cpu=atmega328old",
"sketch": "EEPROM_Programmer.ino"
}
{
"configurations": [
{
"name": "Win32",
"includePath": [
"C:\\Program Files (x86)\\Arduino\\tools\\**",
"C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\**",
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\**"
],
"forcedInclude": [
"C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino\\Arduino.h"
],
"intelliSenseMode": "msvc-x64",
"compilerPath": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\bin\\Hostx64\\x64\\cl.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"defines": ["USBCON"]
}
],
"version": 4
}
如果有人有任何建议,我们将不胜感激 对于Arduino的VS代码IntelliSense,我也遇到了一些类似的问题 不知何故,IntelliSense不能与Visual Studio编译器一起工作。我已经在
c\u cpp\u properties.json
文件中更改了以下设置,以使用Arduino提供的编译器
旧的:
新的:
也许您必须调整Arduino文件夹的路径
此更改解决了我在未定义标识符方面的问题。回答标题-如果您想使用
sprintf
,那么请包含AVR标准库中的stdio.h
。我已经尝试过了,但这并不能解决问题。我相信这实际上是vscode arduino扩展的一个问题,因为当我编译它时,它不会抛出任何错误。SPI和直接端口访问变量(如PINB、PORTB等)也开始出现这种情况。