arduino串口程序问题
原来是想做一个,可以通过串口通讯的舵机云台。程序如下:#include<Servo.h>Servomyservo1;Servomyservo2;StringinStrin...
原来是想做一个,可以通过串口通讯的舵机云台。程序如下:
#include <Servo.h>
Servo myservo1;
Servo myservo2;
String inString = "";
int R,L;
int flag;
int flagl;
int s;
void setup()
{
Serial.begin(115220);//与遥控端速度要匹配
myservo1.attach(9);
myservo2.attach(10);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
}
void loop()
{
int inChar;
if (Serial.available() > 0) {
inChar = Serial.read();
}
if (isDigit(inChar)) {
inString += (char)inChar;
}
if (inChar== 'R') {
R = inString.toInt();//收到R标志,将收到的数据字符串转为INT型,并赋与R,
inString = "";
}
if (inChar== 'L'){
L = inString.toInt();//收到L标志,则赋于L。
inString = "";
}
myservo1.write(R);
myservo2.write(L);
delay(20);
s = Serial.read();
if(s=='f'){
digitalWrite(2,HIGH);
}
if(s=='g'){
digitalWrite(2,LOW);
}
if(s=='n'){
digitalWrite(3,HIGH);
}
if(s=='i'){
digitalWrite(3,LOW);
}
if(s=='j'){
digitalWrite(4,HIGH);
}
if(s=='k'){
digitalWrite(4,LOW);
}
if(s=='l'){
digitalWrite(5,HIGH);
}
if(s=='m'){
digitalWrite(5,LOW);
}
}
可是测试后不行,控制不了舵机,把:
s = Serial.read();
。。。。
if(s=='m'){
digitalWrite(5,LOW);
}
}
删掉后发现舵机又可以控制了,这是什么原因?怎样才能做到不用删减。求程序。 展开
#include <Servo.h>
Servo myservo1;
Servo myservo2;
String inString = "";
int R,L;
int flag;
int flagl;
int s;
void setup()
{
Serial.begin(115220);//与遥控端速度要匹配
myservo1.attach(9);
myservo2.attach(10);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
}
void loop()
{
int inChar;
if (Serial.available() > 0) {
inChar = Serial.read();
}
if (isDigit(inChar)) {
inString += (char)inChar;
}
if (inChar== 'R') {
R = inString.toInt();//收到R标志,将收到的数据字符串转为INT型,并赋与R,
inString = "";
}
if (inChar== 'L'){
L = inString.toInt();//收到L标志,则赋于L。
inString = "";
}
myservo1.write(R);
myservo2.write(L);
delay(20);
s = Serial.read();
if(s=='f'){
digitalWrite(2,HIGH);
}
if(s=='g'){
digitalWrite(2,LOW);
}
if(s=='n'){
digitalWrite(3,HIGH);
}
if(s=='i'){
digitalWrite(3,LOW);
}
if(s=='j'){
digitalWrite(4,HIGH);
}
if(s=='k'){
digitalWrite(4,LOW);
}
if(s=='l'){
digitalWrite(5,HIGH);
}
if(s=='m'){
digitalWrite(5,LOW);
}
}
可是测试后不行,控制不了舵机,把:
s = Serial.read();
。。。。
if(s=='m'){
digitalWrite(5,LOW);
}
}
删掉后发现舵机又可以控制了,这是什么原因?怎样才能做到不用删减。求程序。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询