【问题标题】:Calculate CRC-5 using boost使用 boost 计算 CRC-5
【发布时间】:2014-12-07 14:38:34
【问题描述】:

我需要计算 EPC 无源 RFID 协议标准(UHF Class 1 Gen 2 Standard) 中指定的 CRC-5 校验和。我打算使用来自 Boost 的optimized crc computer 进行计算,但我很难将 EPC 规范中的信息映射到 crc 计算机模板参数:

template < std::size_t Bits, impl_def TruncPoly,
           impl_def InitRem, impl_def FinalXor,
           bool ReflectIn, bool ReflectRem >

EPC 标准中的 CRC 5 定义见表 6.12:

附件 F 包含以下附加信息:

第一个模板参数 (Bits) 显然是 5,我想 TruncPoly 应该是 0x09(来自wikipedia),但我真的可以使用一些建议来解决其余的问题。

【问题讨论】:

    标签: c++ boost rfid crc


    【解决方案1】:

    经过一番搜索,我发现了这个:http://reveng.sourceforge.net/crc-catalogue/1-15.htm#crc.cat-bits.5

    它提供以下信息(复制以确保它不会消失):

    如果看不清楚,相关信息是:

    width=5 poly=0x09 init=0x09 refin=false refout=false xorout=0x00 check=0x00 name="CRC-5/EPC"

    如您所见,他们不仅提供所需的信息,还彻底参考了他们的来源,因此如果您正在使用此链接,我建议您点击链接。

    为了回答我自己的问题,boost crc-5-epc 定义变为:

    boost::crc_optimal<5, 0x09, 0x09, 0x00, false, false>  crc_5_epc;
    

    【讨论】:

      猜你喜欢
      • 2018-11-18
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      相关资源
      最近更新 更多