ZHCABQ6D January   2018  – June 2022 TM4C1290NCPDT , TM4C1290NCZAD , TM4C1292NCPDT , TM4C1292NCZAD , TM4C1294KCPDT , TM4C1294NCPDT , TM4C1294NCZAD , TM4C1297NCZAD , TM4C1299KCZAD , TM4C1299NCZAD , TM4C129CNCPDT , TM4C129CNCZAD , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XNCZAD , TMP1826 , TMP1827

 

  1.   摘要
  2.   商标
  3. 1单线简介
    1. 1.1 总线要求
    2. 1.2 供电
  4. 2功能说明
    1. 2.1 单线信号传输
    2. 2.2 单线器件的地址格式
    3. 2.3 单总线中的典型通信流程
  5. 3TivaWare C 系列中可用于单线模块的函数
  6. 4枚举
    1. 4.1 旧搜索算法
      1. 4.1.1 3 位搜索算法的步骤
    2. 4.2 快速搜索算法
  7. 5总结
  8. 6参考文献
  9. 7修订历史记录

3 位搜索算法的步骤

  1. 复位总线并寻找 ATR 响应。如果总线中无器件,则结束流程。
  2. 如果收到 ATR 响应,则发送 Search ROM 命令。
  3. 从总线中的器件读取一位。
  4. 从器件中读取第 3 步中的位的补码。
  5. 检查是否两个位都为 1。如果为“是”,则结束此流程。如果为“否”,则继续。
  6. 检查第一个读取位是否为 0,第二个读取位是否为 1。如果为“是”,则在总线中写入 0 并转至第 14 步。如果为“否”,则继续。
  7. 检查第一个读取位是否为 1,第二个读取位是否为 0。如果为“是”,则转至第 9 步。如果为“否”,则继续。
  8. 检查 ui32BitNumber 是否等于 i32ConflictBitNumber。如果为“是”,则继续。如果为“否”,则转至第 10
  9. 在总线中写入 1。转至第 14 步。
  10. 检查 ui32BitNumber 是否小于 i32ConflictBitNumber。如果为“是”,则继续。如果为“否”,则转至第 12 步。
  11. 检查上一 ROM 编号的 ui32BitNumber 中的位是否等于 1。如果为“是”,则转至第 9 步。如果为“否”,则继续。
  12. 在总线中写入 0。
  13. ui32BitNumber 更新 i32LastConflictZeroBitNumber 的值。
  14. 检查 ui32BitNumber 是否等于 63。如果为“是”,则转至第 1 步。如果为“否”,则转至第 3 步。