给优化后的代码加上注释
时间: 2024-03-20 09:42:16 浏览: 49
好的,以下是带注释的代码:
```c++
#include <Servo.h>
const int HORIZONTAL_PIN = 9; // 水平舵机控制引脚
const int VERTICAL_PIN = 10; // 垂直舵机控制引脚
const int BAUD_RATE = 115200; // 串口通信波特率
const int DELAY_TIME = 100; // 延时时间
Servo horizontalServo; // 声明水平舵机对象
Servo verticalServo; // 声明垂直舵机对象
void setup() {
horizontalServo.attach(HORIZONTAL_PIN); // 绑定水平舵机控制引脚
verticalServo.attach(VERTICAL_PIN); // 绑定垂直舵机控制引脚
Serial.begin(BAUD_RATE); // 开始串口通信
horizontalServo.write(90); // 将水平舵机角度设置为90度
verticalServo.write(0); // 将垂直舵机角度设置为0度
}
void loop() {
if (Serial.available() > 0) { // 如果有串口数据可读
char buffer[3]; // 定义一个缓冲区,用于存储读取的数据
int bytesRead = Serial.readBytesUntil('\n', buffer, 3); // 读取串口数据,直到读取到换行符
if (bytesRead == 2 && buffer[0] == 'R') { // 如果读取的数据长度为2且第一个字符为'R'
int angle = buffer[1] - '0'; // 将第二个字符转换成数字
if (angle >= 0 && angle <= 9) { // 如果转换后的数字在0到9之间
if (buffer[0] == 'V') { // 如果第一个字符为'V'
horizontalServo.write(angle * 10); // 将水平舵机转动到相应的角度
Serial.println(angle * 10); // 在串口上输出舵机角度
} else if (buffer[0] == 'H') { // 如果第一个字符为'H'
verticalServo.write(angle * 10); // 将垂直舵机转动到相应的角度
Serial.println(angle * 10); // 在串口上输出舵机角度
}
}
}
}
delay(DELAY_TIME); // 延时一段时间,以免频繁读取串口数据
}
```
阅读全文