基于arduino ide帮我把下面的代码改为子函数
时间: 2024-02-25 12:54:47 浏览: 24
好的,可以把下面的代码改写为子函数的形式:
```C++
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void loop() {
int buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
Serial.println("Button is pressed");
} else {
digitalWrite(ledPin, LOW);
Serial.println("Button is not pressed");
}
}
```
改写后的代码如下所示:
```C++
int ledPin = 13; // 定义LED引脚
int buttonPin = 2; // 定义按钮引脚
void setup() {
pinMode(ledPin, OUTPUT); // 配置LED引脚为输出模式
pinMode(buttonPin, INPUT); // 配置按钮引脚为输入模式
Serial.begin(9600); // 初始化串口通信
}
void loop() {
checkButton(); // 调用checkButton()函数
}
void checkButton() {
int buttonState = digitalRead(buttonPin); // 读取按钮状态
if (buttonState == HIGH) { // 如果按钮被按下
digitalWrite(ledPin, HIGH); // 点亮LED
Serial.println("Button is pressed"); // 串口输出提示信息
} else { // 如果按钮没有被按下
digitalWrite(ledPin, LOW); // 关闭LED
Serial.println("Button is not pressed"); // 串口输出提示信息
}
}
```
在改写后的代码中,我们将原来的代码放在了一个名为`checkButton()`的函数中。`setup()`函数和`loop()`函数中的代码没有变化,只是在`loop()`函数中通过调用`checkButton()`函数来执行原来的代码。这样做的好处是,使代码结构更加清晰,也方便我们对代码进行维护和扩展。