ZHCU873C june   2021  – july 2023 HDC3020 , HDC3020-Q1 , HDC3021 , HDC3021-Q1 , HDC3022 , HDC3022-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1HDC302x 器件
    1. 1.1 采用 WSON 封装的 HDC3020
    2. 1.2 采用 WSON 封装的 HDC3021
    3. 1.3 采用 WSON 封装的 HDC3022
  5. 2存储和处理指南
    1. 2.1 暴露于污染物中
    2. 2.2 化学分析
      1. 2.2.1 饱和和恢复测试
      2. 2.2.2 长时间暴露
    3. 2.3 包装和存储
      1. 2.3.1 组装
      2. 2.3.2 在极端环境中的应用
  6. 3对 HDC3020 进行编程
    1. 3.1 按需触发
    2. 3.2 自动测量
    3. 3.3 对 CRC 进行编程
      1. 3.3.1 CRC C 代码
    4. 3.4 凝结消除
    5. 3.5 偏移误差校正
      1. 3.5.1 采用指板的偏移误差校正示例
  7. 4参考文献
  8. 5修订历史记录

CRC C 代码

以下代码片段描述了如何为 HDC3x 器件生成 C 语言的 8 位 CRC 代码。

#include <stdio.h>
unsigned char crcHDC3 (unsigned char msg[], int msglen) {
    unsigned char crc = 0xFF;
    for (int byte = 0; byte < msglen; byte++) {
        crc ^= msg[byte];
        for (int bit = 0; bit < 8; bit++) {
            if (crc & 0x80) 
                crc = (crc << 1) ^ 0x31;
            else 
                crc = (crc << 1);
        }
    }
    return crc;
}
void main(int argc, char *argv[]) {
    unsigned char msg[20];
    int msglen = (argc > 1) ? (argc - 1) : 2;
    msg[0] = 0xAB;
    msg[1] = 0xCD;
    for (int i = 1; i < argc; i++) {
        sscanf(argv[i], "%X", &msg[i-1]);
    }
    printf("crc" 0x%X\n", crcHDC3(msg, msglen));
}