* 文件 : BH1750光照强度传感器h文件 * 版本 : V1.0 * 日期 : 2024.8.5 * MCU : STM32F103C8T6 * 接口 : 见代码 ***BEGIN***/typedefunsignedcharBYTE;//BYTE BUF[8]; //接收数据缓存区//iic接口初始化/** ** 设置SDA为输出 **/voidSDA_OUT(void){ GPIO_InitTypeDef GPIO_InitStructer; GPIO...
STM32 HAL库BH1750光强检测器驱动代码 #ifndef __LIGHT_H #define __LIGHT_H #include "system.h" #include "delay.h" //IO方向设置 #define SDA_IN() {IIC_SDA_GPIO_Port->CRH&=0XFFFFFF0F;IIC_SDA_GPIO_Port->CRH|=(u32)8<<4;} #define SDA_OUT() {IIC_SDA_GPIO_Port->CRH&=0XFFFFFF...
1.硬件:BH1750模块+oled 2.代码:BH1750是标准的iic协议的外设,我这里单独有iic的文件,之后想要实现多个设备共用一个iic。 BH1750.c 1#include"BH1750.h"2#include"delay.h"3#include"iic.h"4voidbh_data_send(u8 command)5{6do{7iic_start();8iic_byte_write(BHAddWrite);9}while(iic_wait_ack())...
MCU:STM32F103ZET6 光敏传感器:BH1750数字传感器(IIC接口) 开发软件:Keil5 代码说明:使用IIC模拟时序驱动,方便移植到其他平台,采集的光照度比较灵敏. 合成的光照度返回值范围是 0~255。 0表示全黑 255表示很亮。 实测:手机闪光灯照着的状态返回值是245左右,手捂着的状态返回值是10左右. 二、BH1750...
四.代码实例 4.1 bh1750.c源文件 #include"bh1750.h"/*应用说明:在访问I2C设备前,请先调用 i2c_CheckDevice() 检测I2C设备是否正常,该函数会配置GPIO*/staticvoidI2C_BH1750_GPIOConfig(void);/*** 函数名: i2c_Delay* 功能说明: I2C总线位延迟,最快400KHz* 形 参:无* 返回值: 无***...
MCU:STM32F103ZET6 光敏传感器:BH1750数字传感器(IIC接口) 开发软件:Keil5 代码说明:使用IIC模拟时序驱动,方便移植到其他平台,采集的光照度比较灵敏. 合成的光照度返回值范围是 0~255。 0表示全黑 255表示很亮。 实测: 手机闪光灯照着的状态返回值是245左右,手捂着的状态返回值是10左右. ...
MCU:STM32F103ZET6 光敏传感器:BH1750数字传感器(IIC接口) 开发软件:Keil5 代码说明:使用IIC模拟时序驱动,方便移植到其他平台,采集的光照度比较灵敏. 合成的光照度返回值范围是 0~255。 0表示全黑 255表示很亮。 实测: 手机闪光灯照着的状态返回值是245左右,手捂着的状态返回值是10左右. ...
开发平台:STM32CubeMX +KEIL5 主控MCU:STM32F103RET6 通讯方式:I2C BH1750引脚初始化代码如下: 登录后复制GPIO_InitStruct.Pin = B_SCL_Pin|B_SDA_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; //输出模式 GPIO_InitStruct.Pull = GPIO_PULLUP; ...
BH1750是一款高精度的数字光照传感器,它能够直接输出环境光照强度的数值,测量范围在0~65535勒克斯(lx)。本文将详细介绍如何在STM32平台上使用BH1750传感器,包括硬件连接、软件配置和代码实现。 1. BH1750简介 BH1750具有以下特点: 两线式串行总线接口 内置16位AD转换器,直接数字输出 ...
在代码中,使用HAL库函数初始化了I2C接口和USART串口,同时使用了STM32提供的延时库函数HAL_Delay()。在主函数中,首先定义了一个缓冲区buf[2]和一个变量value,缓冲区buf[2]用于存储从BH1750读取的光照强度数据。变量value用于存储经过单位转换后的光照强度值。