This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PAD1000 temperature sensor

Other Parts Discussed in Thread: DLPC2607

hi 各位

我们有个产品用了dlpc2607和pad10000,dlpc2607 i2c通信正常,我想得到pad1000 采样到的温度值,请问下要怎么实现呢?

我对那个compound i2c command不理解,能具体解释下吗?

  • 用PAD1000来检测温度,首先硬件上需要一个热敏电阻来采样,连接方式参考附图。然后通过DLPC2607可以直接读到PAD1000输出的温度。具体的寄存器操作如下:

    Write Cmd:CMD_CPU_handshake_flag_wr, addr:36, subAddr:3a 00 00 00 01 Write

    Write Cmd:CMD_CPU_register_read1_wr, addr:36, subAddr:38 00 00 00 c5 Write

    Write Cmd:cmd_write_rdaddr, addr:36, subAddr:15 39 Write

    Read Cmd:CMD_CPU_Temp_value_rd, addr:37,   Read

  • hi MengAo

    非常感谢您的回答,在我尝试了你提示的时序,后发现我得到的数据Read Cmd:CMD_CPU_Temp_value_rd, addr:37,   Read,一直是“0”,我试了下其他寄存器,

    Write Cmd:CMD_CPU_handshake_flag_wr, addr:36, subAddr:3a 00 00 00 01 Write

    Write Cmd:CMD_CPU_register_read1_wr, addr:36, subAddr:38 00 00 00 c5(02-EC) Write

    Write Cmd:cmd_write_rdaddr, addr:36, subAddr:15 39 Write

    Read Cmd:CMD_CPU_Temp_value_rd, addr:37,   Read

    得到的数据也都是“0”,而且Handshake_flag 读回的也一直是“1”,Handshake_flag 是不是会被清除,如果compound i2c command 正常?

    是否有其他的关联呢?

  • 你确认你IIC通信正常,读写其他寄存器是否可以

  • MIYA美女,

    读温度的时候得到的数据不能太快,你需要增加100ms以上的延迟,建议做以下动作:

    addr:36, subAddr:3a 00 00 00 01  Write
    addr:36, subAddr:38 00 00 00 c5 Write
    addr:36, subAddr:15 39 Write
    delay 100ms                              //增加get数据的延迟时间
     addr:37, Read... ...