Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code Arduino vscode:标识符“1”;sprintf";是未定义的_Visual Studio Code_Arduino_Vscode Settings_Arduino Ide - Fatal编程技术网

Visual studio code Arduino vscode:标识符“1”;sprintf";是未定义的

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安装了
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等)也开始出现这种情况。