gpt4 book ai didi

visual-studio-code - Visual Studio Code 的智能感知无法识别 Arduino 端口管理

转载 作者:行者123 更新时间:2023-12-05 02:46:32 26 4
gpt4 key购买 nike

我正在尝试使用 VScode 进行 Arduino Uno 早期开发。我想使用 intellisense,但在“问题选项卡”中显示错误:

identifier "DDRD" is undefined
identifier "PIND" is undefined
identifier "PORTD" is undefined
identifier "PORTD" is undefined

我可以完美地编译和上传代码并且它有效。

我到处都读到解决这个问题的方法是在代码的最顶部添加微 Controller 的宏定义,但似乎这只对我不起作用。

这是我的代码

#define __AVR_ATmega328P__
#include <avr/io.h>
#include <util/delay.h>

int main(void) {
int switchState = 0;

DDRD &= ~(1 << 2);
DDRD |= 1 << 3;
DDRD |= 1 << 4;
DDRD |= 1 << 5;

for (;;) {
switchState = 0x01 & (PIND >> 2);

if (!switchState) {
PORTD |= 1 << 3;
PORTD &= ~(1 << 4);
PORTD &= ~(1 << 5);
} else {
PORTD &= ~(1 << 3);
PORTD &= ~(1 << 4);
PORTD |= 1 << 5;
_delay_ms(250);
PORTD |= 1 << 4;
PORTD &= ~(1 << 5);
_delay_ms(250);
}
}

return 0;
}

如果我右键单击带下划线的 DDRD 宏并选择“转到定义”,它会将我带到 io76c711.h 中的 DDRD 宏定义,而我希望在 iom328p.h 中被重定向,因为 io.h 包含

#elif defined (__AVR_ATmega328P__)
# include <avr/iom328p.h>

似乎 AVR_AT76C711 是在别处定义的,但我不知道在哪里。

你有什么建议吗?如果 VScode Arduino 扩展生成的文件有问题,我也会发布我的 c_cpp_properties.json

{
"configurations": [
{
"name": "Win32",
"includePath": [
"C:\\Program Files (x86)\\Arduino\\tools\\**",
"D:\\Arduino\\libraries\\**",
"C:\\Program Files (x86)\\Arduino\\libraries\\**",
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\**",
"C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\**"
],
"forcedInclude": [
"C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino\\Arduino.h"
],
"defines": [
"USBCON"
],
"intelliSenseMode": "gcc-x64",
"compilerPath": "/usr/bin/gcc",
"cStandard": "gnu11",
"cppStandard": "gnu++14"
}
],
"version": 4
}

最佳答案

"__AVR_ATmega328P__" 添加到 c_cpp_properties.json 文件的定义部分,如下所示:

"defines": [
"__AVR_ATmega328P__",

然后它将能够找到正确的 AVR IO 包含文件。

在您的情况下,AVR_AT76C711 只是定义的一种可能性,但它可能实际上并未在您的项目中定义。

注意:下次重新构建 IntelliSense 配置(例如:验证或上传)时,定义将自动删除。目前已跟踪此问题 here .

关于visual-studio-code - Visual Studio Code 的智能感知无法识别 Arduino 端口管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65455168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com