【问题标题】:How to define 128 bit UUID in arduino如何在 arduino 中定义 128 位 UUID
【发布时间】:2015-12-02 16:38:32
【问题描述】:

我有一个关于如何在 arduino 中定义 BLE 128 位服务 UUID 的问题。

我可以在这样的示例中看到 16 位 UUID:

定义 SERVICE_UUID_BATTERY (0x180F)

但是如何在 arduino 中定义 128 位 UUID?

谢谢

【问题讨论】:

    标签: arduino bluetooth-lowenergy


    【解决方案1】:

    可以这样定义:

    /* 00000000-ABCD-FEED-F00D-012345678900 decided as custom ID. */
    uint8_t UUID[] = { 0x00, 0x89, 0x67, 0x45, 0x23, 0x01, 0x0D,0xF0, 0xED, 0xFE,     0xCD, 0xAB, 0x00, 0x00, 0x00, 0x00 };
    

    【讨论】:

      【解决方案2】:

      由于 Arduino 是基于 C++ 的,我认为这是不可能的,因为:

      GCC 确实有一个 uint128_t/int128_t 类型,从版本开始 4.something(这里不确定)。但是,我似乎确实记得在那之前有一个 __int128_t def。

      Source

      但你可以尝试看看这个帖子:Representing 128-bit numbers in C++

      也许你可以在 Arduino 中使用这个库...

      【讨论】:

      • 谢谢 Raphael,让我试试这个库。
      • 嗨 Raphael,我想我找到了答案,感谢您的帮助。
      • GCC 仅在 64 位目标上定义 128 位整数类型(需要 2 个寄存器)。 Arduino 是 AVR,其中 __int128 需要 16 个寄存器。或 32 位 ARM,但不是 AArch64。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-23
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多