使用STM32作为主控,现在可以正确读取ID寄存器,但是每次读取温度寄存器的值变化都很大,使用的是默认配置,没有对配置进行设置
Amy Luo:
您好,
默认情况下Tmp116工作在CC模式下,您读取温度寄存器的流程是怎样的呢
user5912937:
回复 Amy Luo:
你好,现在可以正常通信了,读取ID值是正确的,但是又出现新问题,测得的温度与环境温度有大约4度的差别。我把手指放在芯片上,可以看到温度很快上升,这是不是可以证明温度寄存器的读取是没有问题的
user5912937:
回复 Amy Luo:
流程就是从设备地址(写)—- 写温度寄存器地址—–从设备地址(读)—–读两个字节的温度数据
Amy Luo:
回复 user5912937:
在CC模式下,设备是持续进行温度转换的,每个转换周期包括active时间段和 standby 时间段,见数据手册图19。standby的持续时间可以使用configuration 寄存器中的CONV和AVG位进行配置。
转换结束后,在configuration 寄存器的Data_Ready位会置1。
您读取温度前,判断一下Data_Ready位是否置1,置1后再去读取,看看能否解决您的问题。
user5912937:
回复 Amy Luo:
好的,谢谢你的回复,我试一下再来请教