串口通信后为什么两个字符串不同了……

VB和aeduino中波特率都设置为9600,VB能够正常接收数据,看起来一样,但数据判断却不一样。。。。
VB中代码:
Dim buf$
Dim DR$
DR = Trim("DATA:CREADY")

buf = Trim(MSComm1.Input)
Label15.Caption = buf
Label16.Caption = DR

If LCase(buf) = LCase(DR) Then
MsgBox ("校准完成!")
Else
MsgBox ("校准失败!")
End If
buf = ""
End If

arduino中的代码:
char data = char(Serial.read());
if (data=='A')
{
//Serial.println(data);
delay(5000);
Serial.print("DATA:CREADY \r \n");
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);

按钮上方为串口接收的值,下方是VB中定义的值
图片说明

你试一下把 Serial.print("DATA:CREADY \r \n"); 更改成 Serial.print("DATA:CREADY"); 看看能不能成功

arduino里你增加delay(5000);是不是这个导致的数据不一样了

关于arduino串口通信,可参考
http://www.douban.com/note/200000463/