【问题标题】:WeMos (ESP8266) Function WhileWeMos (ESP8266) 功能同时
【发布时间】:2017-10-13 05:15:04
【问题描述】:

我的功能有问题。当我评论此行在监视器串行中没有错误,但是,当我使用所有功能时,在监视器串行上显示此错误。

void windvelocity(){
speedwind = 0;
counter = 0;  
attachInterrupt(0, addcount, RISING);
unsigned long millis();       
long startTime = millis();
while(millis() < startTime + period) {
}
}

当我将此功能上传到 wemos 时,串行监视器会打印此功能

ets Jan  8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v09f0c112
~ld

【问题讨论】:

  • 如何为 ESP8266 供电?
  • 这个功能是看风速计的速度。

标签: esp8266


【解决方案1】:

这不是错误消息,而是标准启动消息。要正确回答您的问题,我们需要知道您到底使用什么板、如何连接部件(什么引脚、电压等)、什么部件,当然还有完整代码。

请记住,esp8266 的分线板(例如节点 mcu)有时会令人困惑。因此,请务必仔细检查您要使用的引脚以及您在代码中声明的引脚。

例如,如果您想将 D0 作为某物(可能是 LED)的输出,则必须将其声明为输出。

pinMode(16, Output);           // set pin to output

或者当想要将其用作输入(例如用于传感器)时,请使用

pinMode(16, Input);            // set pin to input

当你想使用 D0 时,为什么要使用 16?查看this 以获取有关如何将引脚称为输入或输出的更多信息。在那里你可以看到要使用的引脚。

【讨论】:

  • 那么,任何GPIO都可以是输入还是输出?我认为我的 WeMos 并没有解决这个问题,因为我声明了一些东西,但我不需要:/
  • 好的!谢谢我会测试!但是任何属于 GPIO exept D0 的引脚(在 wemos 中)我都可以声明输入或输出?
  • 据我所知,是的。您可以阅读输入法here。这很重要,因为不是每个板都可以处理每个输入。了解电阻器以及如何使用它们很重要。请让我知道它是否适合您!
  • 我看到并测试过,但我研究的问题是看门狗,因为在代码中有这个循环。我为我的电路板调整的引脚。你有一个关于如何改变不保持这个无限循环的建议,或者我如何插入时间来验证?因为像往常一样我需要编译这个,看门狗不知道我的系统被锁定了:/
  • void windvelocity(){ speedwind = 0;计数器 = 0; attachInterrupt(0, addcount, RISING);无符号长毫秒();长开始时间 = 毫秒(); while(millis()
【解决方案2】:

复位原因 2 表示复位引脚触发复位。将风速计连接到另一个引脚并更改代码以匹配硬件布局。

【讨论】:

  • 我在 Arduino 中测试了代码,它可以正常工作,但在我的 Wemos 中无法正常工作。是否可以声明引脚输入和输出?因为 esp8266 中的这个声明不起作用
  • wemos 上的很多引脚都是特殊的,只有 GPIO4+5 完全没有副作用
猜你喜欢
  • 1970-01-01
  • 2021-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
  • 2018-04-05
相关资源
最近更新 更多