{
  "kind": "合成输入与数学模型输出，非设备实测",
  "article": "https://qifudev.com/article/timer-32bit-49day-limit/",
  "tool": "https://qifudev.com/tools/timer-wrap/",
  "formula": "Δtick = (end − start + 2ᴺ) mod 2ᴺ；t = Δtick / f",
  "inputs": [
    {
      "name": "无符号计数位宽",
      "key": "bits",
      "value": 32,
      "unit": "bit"
    },
    {
      "name": "实际计数频率",
      "key": "frequency",
      "value": 1000,
      "unit": "Hz"
    },
    {
      "name": "起始计数",
      "key": "start",
      "value": 4294967290,
      "unit": "tick"
    },
    {
      "name": "结束计数",
      "key": "end",
      "value": 6,
      "unit": "tick"
    }
  ],
  "outputs": [
    {
      "name": "小于一个完整周期的模差",
      "key": "elapsedTicks",
      "value": 12,
      "unit": "tick"
    },
    {
      "name": "该模差对应时间",
      "key": "elapsedSeconds",
      "value": 0.012,
      "unit": "s"
    },
    {
      "name": "完整回绕周期",
      "key": "wrapSeconds",
      "value": 4294967.296,
      "unit": "s"
    }
  ],
  "warnings": [
    "差值只有在真实间隔小于一次完整回绕周期时才唯一。工具无法识别遗漏的多个周期；不适用于有符号溢出。"
  ],
  "assumptions": "只处理不超过32位的精确无符号计数。SDK的高精度时间接口未必是32位计数器；不要把该示例套到所有ESP Timer接口上。变频、重启和深睡后的计数行为需要查实际时钟源。",
  "source": {
    "label": "SEI CERT C：无符号整数回绕规则",
    "url": "https://wiki.sei.cmu.edu/confluence/display/c/INT30-C.+Ensure+that+unsigned+integer+operations+do+not+wrap"
  },
  "measured": {
    "device": null,
    "firmware": null,
    "environment": null,
    "instrument": null,
    "result": null,
    "verdict": null
  }
}
