Visual studio code Visual Studio代码-Arduino编程标识符A8-A15(插脚A8到插脚A15)未定义

Visual studio code Visual Studio代码-Arduino编程标识符A8-A15(插脚A8到插脚A15)未定义,visual-studio-code,arduino,undefined,Visual Studio Code,Arduino,Undefined,我试图使用VSCode来编写我的Arduino程序(MEGA2560),当我试图设置 const int CurrentPin = A9; A9带下划线,问题如下 identifier "A9" is undefined [7,24] 我已尝试更改.vscode/arduino.json.vscode/c_cpp_properties.json { "enableConfigurationSquiggles": true, "env", {}, "co

我试图使用VSCode来编写我的Arduino程序(MEGA2560),当我试图设置

    const int CurrentPin = A9;
A9带下划线,问题如下

    identifier "A9" is undefined [7,24]
我已尝试更改.vscode/arduino.json.vscode/c_cpp_properties.json

{
    "enableConfigurationSquiggles": true,
    "env", {},
    "configurations": [
        {    
             "name": "Linux",
             "includePath": [
                 "{$workspaceFolder}",
                 %Arduino and library folders%
             ],
             "browse": {
                 "limitSymbolsToIncludeHeaders": false,
                 "path": [
                     "{$workspaceFolder}",
                     %Arduino and library folders%
                 ]
             },
             "defines": [
                 "_DEBUG",
                 "UNICODE",
                 "_UNICODE",
                 "USBCON",
                 "ARDUINO_ARCH_AVR",
                 "ARDUINO_AVR_MEGA2560",
                 "ARDUINO=10800"
             ],
             "compilerPath": "/usr/bin/avr-gcc",
             "cStandard": "c11",
             "cppStandard": "c++17",
             "intelliSenseMode": "clang-x64",
             "forcedInclude": [
                 "...Arduino.h"
             ]
         }
    ],
    "version": 4

}
我相信这可能是c_cpp_属性定义的一部分

编辑:有时,当我有一些东西被定义的引脚,它踢到可以使用它,即

第22行

#define ONE_WIRE_BUS A13
第24行

OneWire oneWire(ONE_WIRE_BUS);
另外,当我在第22行的A13实例上使用“Go to Definition”时,它会返回到pins_arduino.h,在那里它们都被定义

arduino.json

{
    "board": "arduino:avr:mega",
    "configuration": "cpu=atmega2560",
    "port": "/dev/ttyAMC0",
    "output": "build",
    "sketch": "Project/MyProject.ino",
    "programmer": "AVRISP mkII"
}
c_cpp_properties.json

{
    "enableConfigurationSquiggles": true,
    "env", {},
    "configurations": [
        {    
             "name": "Linux",
             "includePath": [
                 "{$workspaceFolder}",
                 %Arduino and library folders%
             ],
             "browse": {
                 "limitSymbolsToIncludeHeaders": false,
                 "path": [
                     "{$workspaceFolder}",
                     %Arduino and library folders%
                 ]
             },
             "defines": [
                 "_DEBUG",
                 "UNICODE",
                 "_UNICODE",
                 "USBCON",
                 "ARDUINO_ARCH_AVR",
                 "ARDUINO_AVR_MEGA2560",
                 "ARDUINO=10800"
             ],
             "compilerPath": "/usr/bin/avr-gcc",
             "cStandard": "c11",
             "cppStandard": "c++17",
             "intelliSenseMode": "clang-x64",
             "forcedInclude": [
                 "...Arduino.h"
             ]
         }
    ],
    "version": 4

}
MyProject.ino

#包括
#包括
常数int currentPin=A9;
无效设置(){
//东西
}
void循环(){
//做事
}

我希望使用“ARDUINO_ARCH_AVR”和“ARDUINO_AVR_MEGA2560”的定义“,为了定义模拟管脚,但它们没有

我将管脚的路径添加到includePath和browse.path中,它们似乎已被定义。我没有把它标记为答案,因为我无法判断它是否正确地悬停在每个实例上,我得到的是静态常量uint8_t A8=(uint8_t)>'ascii(62)静态常量uint8_t A9=(uint8_t)'?'ascii(63)静态常量uint8_t A10=(uint8_t)@'ascii(64)静态常量uint8_t A11=(uint8_t)'A'ascii(65)静态常量uint8_t A12=(uint8_t)“B”ascii(66)静态常数uint8_t A13=(uint8_t)“C”ascii(67)静态常数uint8_t A14=(uint8_t)“D”ascii(68)静态常数uint8_t A15=(uint8_t)“E”ascii(69)管脚arduino中对此的任何澄清。h管脚由“定义管脚A(N)(54+N)即“定义管脚A8(62)”我将pin_arduino.h的路径添加到includePath和browse.path中,它们似乎已经定义好了。我没有把它标记为答案,因为我无法判断它是否正确地悬停在每个实例上,我得到的是静态常量uint8_t A8=(uint8_t)>'ascii(62)静态常量uint8_t A9=(uint8_t)'?'ascii(63)静态常量uint8_t A10=(uint8_t)@'ascii(64)静态常量uint8_t A11=(uint8_t)'A'ascii(65)静态常量uint8_t A12=(uint8_t)“B”ascii(66)静态常数uint8_t A13=(uint8_t)“C”ascii(67)静态常数uint8_t A14=(uint8_t)“D”ascii(68)静态常数uint8_t A15=(uint8_t)“E”ascii(69)管脚arduino中对此的任何澄清。h管脚由“定义管脚A(N)(54+N)即“定义管脚A8(62)”