在Arduino上将10个字符字符串转换为int

最大13

在我当前的项目中,我有RFID徽章,可以将10个字符的ID发送给我Arduino UNO(例如:)2700BBA0E8该文档说“可打印的ASCII”,但我不知道它是否总是[0-9A-F]

在Arduino上,内存有限:

  • char1 byte
  • int2 bytes
  • long4 bytes

anint或along会比a短,char[10]并且比较起来比较简单(strcmp()vs ==),所以我想知道如何将接收到的10个字符一一(串行)转换为anint或a long

谢谢你的帮助

Garf365

如前所述,您希望将5个字节放入long只能存储4个字节的内。另外,您必须使用结构:

struct RFIDTagId
{
    unsigned long low;
    unsigned long high; // can also be unsigned char
};

并使用类似的东西:

unsigned int hex2int(char c)
{
    if (c >= 'A' && c <= 'F')
        return (c - 'A' + 0x0A);
    if (c >= '0' && c <= '9')
        return c - '0';
    return 0;
}

void char2Id(char *src, RFIDTagId *dest)
{
    int i = 0;

    dest->low = 0;
    for(i = 0; i < 8; ++i)
    {
        dest->low |= hex2int(src[i]) << (i*4);
    }

    dest->high = 0;
    for(i = 8; i < 10; ++i)
    {
        dest->high |= hex2int(src[i]) << ((i-8)*4);
    }
}

并比较2个ID:

int isRFIDTagIdIsEqual(RFIDTagId * lhs, RFIDTagId * rhs)
{
    return lhs->low == rhs->low && lhs->high == lhs->high;
}

或者如果您确实有c ++:

bool operator==(RFIDTagId const & lhs, RFIDTagId const & rhs)
{
    return lhs.low == rhs.low && lhs.high == lhs.high;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

输入一个字符串,剪切第一个字符,然后转换为 int

来自分类Dev

从字符串中提取单个字符并将其转换为 int

来自分类Dev

在Java中将一个字符串中的多个char转换为int

来自分类Dev

将0和1个字符的字符串转换为十六进制字符串

来自分类Dev

查找前10个字符的字符串

来自分类Dev

将列表转换为单个字符串

来自分类Dev

SwiftyJSON 转换为多个字符串数组

来自分类Dev

typcast不会将整个字符串转换为int(在C中)

来自分类Dev

在C ++中将4个字符转换为int

来自分类Dev

熊猫:如何将行转换为一个字符串?

来自分类Dev

如何在MySQL中将2个字符串转换为日期

来自分类Dev

从右手到左手如何使用substr?如何将每8个字符从字符串转换为int?

来自分类Dev

如何在Java中将一个字符串或多个字符串转换为字节数组中的不同范围?

来自分类Dev

将字符串转换为多个字符串

来自分类Dev

将列表或用户生成的字符串转换为单个字符串

来自分类Dev

如何将用逗号分隔的单词的单个字符串转换为多个字符串?

来自分类Dev

Objectify无法将大于500个字符的字符串自动转换为@Embed集合中的文本

来自分类Dev

收集字符组成一个字符串并将其转换为整数

来自分类Dev

将2个字符串转换为char数组并将它们作为字符进行比较

来自分类Dev

使用Python将字符串中的字符转换为多个字符

来自分类Dev

将字符串列表转换为Clojure中的单个字符串

来自分类Dev

将字符串列表转换为单个字符串

来自分类Dev

将字符串列表转换为单个字符串

来自分类Dev

将对象数组内的concat int数组字段转换为mongodb聚合中的一个字符串字段

来自分类Dev

将 double 转换为字符串时,第一个字符串字符可以是什么?

来自分类Dev

将一个字符串转换为另一个给定的约束

来自分类Dev

如何在C ++中将字符串数组转换为字符串类型,如将每个元素连接成一个字符串,并在字符串上使用子字符串?

来自分类Dev

字符串消息按字符划分10个字符

来自分类Dev

如何将具有多个字符的列表转换为字符串?

Related 相关文章

  1. 1

    输入一个字符串,剪切第一个字符,然后转换为 int

  2. 2

    从字符串中提取单个字符并将其转换为 int

  3. 3

    在Java中将一个字符串中的多个char转换为int

  4. 4

    将0和1个字符的字符串转换为十六进制字符串

  5. 5

    查找前10个字符的字符串

  6. 6

    将列表转换为单个字符串

  7. 7

    SwiftyJSON 转换为多个字符串数组

  8. 8

    typcast不会将整个字符串转换为int(在C中)

  9. 9

    在C ++中将4个字符转换为int

  10. 10

    熊猫:如何将行转换为一个字符串?

  11. 11

    如何在MySQL中将2个字符串转换为日期

  12. 12

    从右手到左手如何使用substr?如何将每8个字符从字符串转换为int?

  13. 13

    如何在Java中将一个字符串或多个字符串转换为字节数组中的不同范围?

  14. 14

    将字符串转换为多个字符串

  15. 15

    将列表或用户生成的字符串转换为单个字符串

  16. 16

    如何将用逗号分隔的单词的单个字符串转换为多个字符串?

  17. 17

    Objectify无法将大于500个字符的字符串自动转换为@Embed集合中的文本

  18. 18

    收集字符组成一个字符串并将其转换为整数

  19. 19

    将2个字符串转换为char数组并将它们作为字符进行比较

  20. 20

    使用Python将字符串中的字符转换为多个字符

  21. 21

    将字符串列表转换为Clojure中的单个字符串

  22. 22

    将字符串列表转换为单个字符串

  23. 23

    将字符串列表转换为单个字符串

  24. 24

    将对象数组内的concat int数组字段转换为mongodb聚合中的一个字符串字段

  25. 25

    将 double 转换为字符串时,第一个字符串字符可以是什么?

  26. 26

    将一个字符串转换为另一个给定的约束

  27. 27

    如何在C ++中将字符串数组转换为字符串类型,如将每个元素连接成一个字符串,并在字符串上使用子字符串?

  28. 28

    字符串消息按字符划分10个字符

  29. 29

    如何将具有多个字符的列表转换为字符串?

热门标签

归档