ESP8266中断问题

问题描述 投票:0回答:1

所以我使用 esp8266 使用霍尔 3144 传感器计算转速,在这样做时,代码中出现了问题。

void exti_callback()
{
Serial.println("working");
}
void setup() {

pinMode(D1,INPUT);
attachInterrupt(digitalPinToInterrupt(D1),exti_callback,FALLING);
Serial.begin(115200);
}

void loop() {
Serial.println("Not working");
}

经过进一步调查,我了解到代码的该特定行“attachInterrupt(digitalPinToInterrupt(D1),exti_callback,FALLING);”给了我错误。早些时候,我使用 D2 引脚,但仍然面临相同的错误,所以我认为我使用了错误的引脚来获取中断,所以我将该引脚更改为引脚 D1,但相同的错误仍然存在。 我怎么知道这一行给了我错误,因为如果我注释掉这一行,整个代码就可以完美工作,并且 void Loop () 也可以开始正常工作。

我什至尝试使用不同的波特率、不同的上传速率,但问题仍然存在。 我什至更换了 USB 电缆、USB 端口等,但仍然出现错误。 这就是错误。 加载0x4010f000,长度3424,房间16 尾0 校验和 0x2e 加载 0x3fff20b8,长度 40,房间 8 尾0 校验和 0x2b 总和 0x2b v00041f10 〜ld ⸮⸮⸮⸮o쒜p⸮⸮n|⸮l⸮⸮$`b⸮⸮|r⸮$⸮o⸮⸮o⸮ 2013 年 1 月 8 日,第一个原因:2,启动模式:(3,6)

同样的错误不断发生。 请帮我解决这个问题。我被困住了:(

ERROR WITH CODE

我什至尝试使用不同的波特率、不同的上传速率,但问题仍然存在。 我什至更换了 USB 线、USB 端口等,但仍然出现错误。

interrupt sensors rpm arduino-esp8266 arduino-esp32
1个回答
0
投票

如果我没记错的话,尝试将D1定义为GPIO 5,这是相应的引脚。

#define D1 5

如果 D1 以某种方式被保留,请尝试将其称为不同的(例如 BUTTON)。

#define BUTTON 5

void exti_callback()
{
Serial.println("working");
}
void setup() {

pinMode(BUTTON,INPUT);
attachInterrupt(digitalPinToInterrupt(BUTTON),exti_callback,FALLING);
Serial.begin(115200);
}

void loop() {
Serial.println("Not working");
}

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.