如何在 Arduino C++ 中使用函数?

问题描述

我是 Arduino 初学者,我想编写一个小程序,当我按下按钮时会播放音符(也提示按下 lcd 上的按钮)。

为了让音符播放,我想写一个函数在压电上播放音符并且有延迟,但是当我尝试上传代码时,出现这个错误

enter image description here

有人可以帮我吗?这是我的代码

#include <LiquidCrystal.h>

int VO = 2;
int RS = 3;
int E = 4;
int D4 = 8;
int D5 = 9;
int D6 = 10;
int D7 = 11;
int PIEZO = 12;
int BUTTON = A0;
LiquidCrystal lcd(RS,E,D4,D5,D6,D7);

void setup() {
  pinMode(BUTTON,INPUT_PULLUP);
  analogWrite(VO,0);
  lcd.begin(16,2);
  lcd.print("Press the button");
}

void playTone(a,b) {
  c = b * 800;
  tone(PIEZO,a,c);
  delay(c);  
}

void loop() {
  if (analogRead(BUTTON) == 1023) {
    playTone(255,1);
  }
}

解决方法

您需要定义函数中的变量。

void playTone(int a,int b)

此外,变量 c 需要在使用前在某处定义。