首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android OTG与Arduino的通信(UsbSerial库):读取奇怪的字节

Android OTG与Arduino的通信(UsbSerial库):读取奇怪的字节
EN

Stack Overflow用户
提问于 2018-06-08 22:35:23
回答 1查看 387关注 0票数 0

我目前正在与Android,Firebase和Arduino合作一个项目,我想把FireBase项目的UID发送给我的arduino (在注册一个新用户之后),这样我就可以使用MFRC522把它写到一个MIFARE标签上。我使用USB电缆完成此操作。为了将UID字符串发送给arduino,我使用了这个UsbSerial Library1,它是我在这篇博客上找到的:

https://www.allaboutcircuits.com/projects/communicate-with-your-arduino-through-android/

与Arduino的连接工作正常,当从应用程序发送UID时,它显示的是我刚刚sent.However的UID字符串,当我读取标签时,它显示如下字符串:

⸮J⸮⸮⸮-⸮Zz⸮⸮Z/m⸮) h⸮1=#⸮⸮⸮⸮=?⸮

当我手动将UID字符串写入串行监视器时,它似乎工作得很好,因为当我读取标记时,它会显示正确的UID字符串,例如:

IaxeEXNUpRUhqfbyW78LtyoRbQw1

它们的尺寸是一样的。因此,在Arduino中执行以下代码时出现了问题:

代码语言:javascript
复制
   byte buffer[28];


if(Serial.available()>0)  
      { 
    Serial.readBytes(buffer, 28); //UID is 28 bits long
    }

在Android中,我通过这样发送字符串:

代码语言:javascript
复制
public void SendUID(String s){
        byte[] bytesOut = s.getBytes();
        serialPort.write(bytesOut   );
        tvAppend(textView, "\nData Sent : " + uid + "\n");
    }

有人熟悉这个问题吗?

谢谢。

附言:这是我的第一篇文章,如果我说得不够清楚,非常抱歉

EN

回答 1

Stack Overflow用户

发布于 2018-06-13 13:47:54

使用64字节的缓冲区。在Arduino上查看android发送和接收的波特率是否相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50762980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档