【问题标题】:Need a little help to fix an Arduino RFID program需要一点帮助来修复 Arduino RFID 程序
【发布时间】:2020-07-25 20:02:34
【问题描述】:

我刚刚提取了我的程序有问题的部分,我使用了 RFID.hSPI.h, 我只想知道如何读取 RFID 卡(用安卓手机写的) 我只写一个字母:R,G,B,Y,...(代表颜色),在我可以在扇区 04 看到的 Android 工具上:?TenR?当十后的“R”是我想读的字符串时:

    char buffer_data[8];
    rfid.read(0x04,buffer_data);
  
    String myString = String(buffer_data);
    Serial.println(myString);

我只想知道如何输出 =>“R”(RFID 卡 04 扇区上的文本):它输出类似的内容:

22:05:15.885 -> 
22:05:15.885 -> &⸮
22:05:15.885 -> ⸮⸮

与其他卡(Y,B char inside)相同的输出...

卡数据截图(Mifare classic 1k(716B可写)):

【问题讨论】:

    标签: c arduino rfid arduino-nano


    【解决方案1】:

    带有 rfid.read 的 lib RFID.h 不起作用... https://github.com/song940/RFID-RC522 不要使用这个库!

    lib https://github.com/miguelbalboa/rfid 更好,是最新的,并且可以读取大多数标签类型!

    这是读取 NTAG215 上第一个文本字符的固定代码:

    if (rfid.PICC_IsNewCardPresent()) {
     if ( ! rfid.PICC_ReadCardSerial()) {
       return;
     }
      Serial.println("");
      String str;
      byte buffer_data[18];
      byte size_data = sizeof(buffer_data);
      rfid.MIFARE_Read(4,buffer_data,&size_data);
      str=String((char *)buffer_data);
      Serial.println(str.charAt(9));
    }
    

    仅在 NTAG215 上输出标签上的第一个字母(如果您使用 Android NFC 工具应用程序编写文本数据)(其他标签 = 不同的地址/位置)!

    【讨论】:

    • 也许他们是一个可以读取各种标签文本的库?但我没找到!
    【解决方案2】:

    我假设“正方形”是指打印到标准输出的 ASCII 数字。 我想知道read_char 在十六进制中是什么,所以不要将它作为一个字符打印到stdout,而是打印它的十六进制表示,看看你得到了什么值。由于可用的系统信息有限,很难为您提供更准确的故障排除步骤。

    【讨论】:

    • 我只想如何使用读取功能,没有文档:s 我不知道如何从 rfid 读取文本。
    • char read_char=rfid.read(01,buffer1); 不会从您的 rfid 读取数据吗? buffer1 在哪里包含您的 rfid 数据?
    • 是的,它读取了一些东西,当我进入 lib 代码时,数据被写入缓冲区,但我不知道如何读取它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多