analogWrite(4,1024)是否可能导致ESP8266挂起?

时间:2017-08-21 13:54:53

标签: arduino infinite-loop esp8266 arduino-esp8266

我想知道是否打电话给这样一条线:

analogWrite(4, 1024);

会导致ESP8266挂起吗?

我问,因为我的ESP8266在正常工作一周后就挂起了。调试很糟糕,但我设法将问题缩小到使用analogWrite()的函数。我对它进行了分析,我发现这些值的范围是0到1024而不是0到255,对吗?

这是Arduino的analogWrite()函数:

extern "C" void analogWrite(uint8_t pin, int value) {
  if (pin >= ESP_PINS_OFFSET) {
    __analogWrite(pin - ESP_PINS_OFFSET, value);
  }
  else {
    wifio::analogWrite(pin, value);
  }
}

它调用了一些我不了解的SDK命令,我不确定是否可以验证他们在做什么?

1 个答案:

答案 0 :(得分:2)

使用超出允许范围的值调用v-model可能会导致未定义的行为;你应该在参加其他任何事情之前纠正这个问题:

  

ESP8266的语法:analogWrite(pin,valueParameters pin:pin   写信给。 value:占空比:介于0(始终关闭)和1023之间   (永远在线)。

忘记其他调试任务,直到纠正错误。