【问题标题】:Arduino - Counter:50: error: lvalue required as left operand of assignmentArduino - 计数器:50:错误:左值需要作为赋值的左操作数
【发布时间】:2013-12-15 19:06:58
【问题描述】:

这是我的代码,用于我的 Sainsmart Arduino Uno。:

void buttonChange() {
  if (digitalRead(button) == LOW) {
    ltp2 = ltp;
    ltp = millis();
    if (number == 0 || ltp -= ltp2 > 500){ 
      number += 1;
      displayNumber();
    }
  }
}

我收到此错误:

counter.ino: In function 'void buttonChange()':
counter:50: error: lvalue required as left operand of assignment

感谢您的帮助。

【问题讨论】:

  • 什么是digitalRead
  • @hacks 这是一个函数。
  • 您需要提供声明ltp2ltpnumber的代码。您可能需要包含所有 counter.ino,以便我们可以看到哪一行是第 50 行。`
  • 谢谢。我发现了错误。我需要将 -= 更改为 - 因为我不想更改 int。
  • Haacks,digitalRead 是一个用于测试引脚输入的 arduino 函数。

标签: c arduino


【解决方案1】:

这里需要一些括号:

if (number == 0 || ltp -= ltp2 > 500){ 

改成:

if (number == 0 || (ltp -= ltp2) > 500){ 

【讨论】:

    【解决方案2】:

    您不想更改 ltp 是什么。只需使用减号即可。

    if (number == 0 || ltp -= ltp2 > 500){ 
    

    改成:

    if (number == 0 || ltp - ltp2 > 500){ 
    

    【讨论】:

      猜你喜欢
      • 2011-12-20
      • 2011-03-04
      • 2012-04-09
      • 2017-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多