if(comdata[0]=='+'&&comdata[5]=='0'&&comdata[9]=='K')
本帖最后由 マイナス37度 于 2015-11-8 21:16 编辑发+0K没反应,求助,该怎么改啊
不是真的发+0k,是+????0???k
String comdata = "";
void setup()
{
Serial.begin(9600);//设置串行通信的波特率
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
digitalWrite(12,HIGH);
digitalWrite(13,LOW);
}
void loop()
{
Serial.flush();
while (Serial.available() > 0)
{
comdata += char(Serial.read());
delay(2);
}
if(comdata=='+'&&comdata=='0'&&comdata=='K')
{
digitalWrite(13,HIGH);
}
if(comdata=='+'&&comdata=='0'&&comdata=='G')
{
digitalWrite(13,LOW);
}
comdata = "";
Serial.println("AT+CIPSEND=0,15");
delay(1000);
}
String comdata = "";
void setup()
{
Serial.begin(9600);//设置串行通信的波特率
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
digitalWrite(12,HIGH);
digitalWrite(13,LOW);
}
void loop()
{
Serial.flush();
while (Serial.available() > 0)
{
comdata += char(Serial.read());
delay(2);
}
if(comdata=='+'&&comdata=='0'&&comdata=='K')
{
digitalWrite(13,HIGH);
}
if(comdata=='+'&&comdata=='0'&&comdata=='G')
{
digitalWrite(13,LOW);
}
comdata = "";
Serial.println("AT+CIPSEND=0,15");
delay(1000);
} 运算符多的情况下,尽量加些括号吧。运算符的优先级别我是记不住。 if(comdata=='+'&&comdata=='0'&&comdata=='K')
這樣檢測 0,5,9 位的字符, 在發 "+0K" 時, 你想有什麼反應?就只可以執行最後的幾句. comdata += char(Serial.read());是不是有问题。字条串一般不能添加字符。if(comdata=='+'&&comdata=='0'&&comdata=='K')这个判断问题。 Super169 发表于 2015-3-12 17:03 static/image/common/back.gif
這樣檢測 0,5,9 位的字符, 在發 "+0K" 時, 你想有什麼反應?就只可以執行最後的幾句.
不是真的发+0k,是+????0???k liha99 发表于 2015-3-12 17:31 static/image/common/back.gif
comdata += char(Serial.read());是不是有问题。字条串一般不能添加字符。if(comdata=='+'&&comdata ...
+IPD,0,9,K这个算字符串么 要 debug 的話, 為何不直接把 comdata 的資料印出來看看, 不就可以知道接收到東西是否有問題了嗎?
在 comdata="" 之前, 加一句 Serial.println(comdata); 就可以看看是那裡出了問題嗎?
你是在接收東西, 為何要先執行一次Serial.flush(); ?如果 IDE 是 1.0 之前, 會把 incoming data 都清除了的. Super169 发表于 2015-3-13 09:47 static/image/common/back.gif
要 debug 的話, 為何不直接把 comdata 的資料印出來看看, 不就可以知道接收到東西是否有問題了嗎?
在 comd ...
好办法,谢谢
页:
[1]