OPT3001是一款低功耗环境光照度采集IC,之前的项目中有用到这颗芯片,因此在这里给大家分享一下,如果这篇文章刚好能帮到你那就更好了。
2、 配置寄存器(地址:0x01):配置OPT3001采集的方式
16位配置寄存器具体如表1所示:
15~12 RN - 配置测量光照的范围,当配置位1100传感器测量范围自动选择
11 CT - 测量时间配置 0- 100Ms 1-800Ms
10:9 M[1:0] - 转换模式:00:关闭模式 01:单次转换 10、11:连续转换
8 OVF - 测量光照超出设定的范围或最大测量值 溢出标志
7 CRF - 转换就绪字段 1-转换完成
6 FH - 转换的光照值 大于上限值 置位
5 FL - 转换的光照值 小于下限值 置位
4 L - 中断输出的两种模式:1-窗口模式:这种模式下高限置位和低限置位INT输出,0-滞后模式:高限置位INT输出 具体看手册
3 POL - INT 中断被触发输出极性 0:拉低 1:拉高
2 ME - 掩码字段
0:1 FC - 超出上限范围故障计数,如果超出次数,大于等于计数设定次,INT输出中断
注:若要用窗口锁存模式,OPT3001触发中断后需要读取配置寄存器才能清除标志位。
3、 下限寄存器(地址:0x02):设置触发下限,如果要用中断方式触发,需要用到
4、 上限寄存器(地址:0x03):设置触发上限,如果要用中断方式触发,需要用到
5、 产商ID寄存器(地址:0x7E):只读寄存器,固定为0x5449
6、 设备ID寄存器(地址:0x7F):只读寄存器,固定为0x3001
1、OPT3001自动采集转换数据,但不主动上报,单片机需要数据的时候去读取,计算。
测量时间可以设置为100ms或者800ms,转换方式配置为连续转换,配置寄存器可以设为:0xCE10或者0xC410。
2、OTP3001自动采集转换数据,超过上限或下限会触发中断,单片机可以通过读取配置寄存器清除OPT3001的中断。
测量时间可以设置为100ms或者800ms,转换方式配置为连续转换,中断输出极性可以是高电平也可以是低电平,配置寄存器可以设为:0xCE10或者0xCE18。
1、 写入过程
1)发送起始信号
2)发送发送器件地址+0
3)等待从机应答位
4)发送寄存器地址
5)等待从机应答位
6)发送数据高8位
7)等待从机应答位
8)发送数据低8位
9)等待从机应答位
10)发送停止信号