TMP101驱动

TMP101是一款通过i2c读取温度的传感器,支持设置温度上下限及报警。总共5个寄存器:指针寄存器,温度数据寄存器(地址0x00),配置寄存器(0x01),温度报警下限寄存器(0x02),温度报警上限寄存器(0x03)。每次操作都是默认访问指针寄存器,告诉要指针寄存器接下来访问的是剩下4个当中的哪一个。

i2c地址:0x90

1. 初始化时首先要设置配置寄存器:

i2c_write(I2C2,  0x90, 0x01, 0xFA), 寄存器地址为0x01, 设置的数据为0xFA,表示不进入省电模式,连续采样,采样精度为12bits,转换时间需要320ms。

2. 定时获取温度:

uint8_t data[2] = {0};

i2c_read(I2C2, 0x91,0x00,  data, sizeof(data)), 寄存器地址为0x00,因为上面设置的是12bits,所以需要连续读取2个字节。读取后数据需要做移位处理。12bits数据是从高位开始传输。

uint16_t  temp = (data[0]<<4) | (data[1]>>4);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值