BH1750FVI光强度传感器及其STM32驱动程序

本文介绍了BH1750FVI光强度传感器,该传感器能直接输出环境光强(单位lx),具有16位AD转换能力,支持3种分辨率模式(4lx, 1lx, 0.5lx)。在STM32中,通过IIC接口连接,VCC可为5V或3.3V,SCL和SDA分别连接PD6和PD7。文章还提供了已调试成功的驱动程序代码。" 51176090,2642093,百度云私密分享多线程破解技术解析,"['安全', '网络爬虫', '编程', 'Python', '漏洞利用']
摘要由CSDN通过智能技术生成

BH1750FVI光强度传感器及其STM32驱动程序

BH1750FVI光强度传感器的介绍

此传感器可以直接输出环境光强的数值(单位为lx),其内部有16位AD转换,即可表示1lx-65535lx,通过IIC输出其数值。
此传感器有3种分辨率模式,他们的分辨率分别为:4lx,1lx和0.5lx。他们的测量时间分别为:16ms,120ms,120ms。如果对测量时间要求不高的话,建议使用0.5lx分辨率的。
其引脚图为:
BH1750FVI引脚图

VCC:5V或3.3V
GND:接地
SCL:IIC时钟总线,在本程序中的引脚为PD6
SDA:IIC数据总线,在本程序中的引脚为PD7
AD0:地址线,不接时默认为低电平,在本程序中可不接

BH1750在STM32中的驱动程序

将下面的内容直接复制,可以直接使用,已经调试成功了。
light.h文件

#ifndef __LIGHT_H
#define __LIGHT_H
#include "sys.h"
#include "delay.h"
#include "light.h"
//IO方向设置
 
#define SDA_IN()  {GPIOD->CRL&=0X0FFFFFFF;GPIOD->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOD->CRL&=0X0FFFFFFF;GPIOD->CRL|=(u32)3<<28;}



#define IIC_SCL    PDout(6) //SCL
#define IIC_SDA    PDout(7) //SDA	 
#define READ_SDA   PDin(7)  //输入SDA 
#define ADDR 0x23//0100011
#define uchar unsigned char 

#define BHAddWrite     0x46      //从机地址+最后写方向位
#define BHAddRead      0x47      //从机地
  • 28
    点赞
  • 175
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值