BerryPod
2015-07-16 00:13
采纳率: 33.3%
浏览 1.9k
已采纳

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

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中定义的值
图片说明

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 三叶草创意工作室 2015-07-16 00:47
    已采纳

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

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • WorldMobile 2015-07-16 00:38

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

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题