define BH1750_I2C_SCL_PIN GPIO_Pin_6/* 连接到SCL时钟线的GPIO */#define BH1750_I2C_SDA_PIN GPIO_Pin_7/* 连接到SDA数据线的GPIO *//* 定义读写SCL和SDA的宏,已增加代码的可移植性和可阅读性 */#define BH1750_I2C_SCL_1() GPIO_SetBits(BH1750_GPIO_PORT_I2C, BH1750_I2C_SCL_PIN)/* S...
#define BHAddRead 0x47 // 从机地址+最后读方向位 #define BHPowDown 0x00 // 关闭模块 #define BHPowOn 0x01 // 打开模块等待测量指令 #define BHReset 0x07 // 重置数据寄存器值在PowerOn模式下有效 #define BHModeH1 0x10 // 高分辨率 单位1lx 测量时间120ms #define BHModeH2 0x11 // 高分辨率...
光敏传感器:BH1750数字传感器(IIC接口) 开发软件:Keil5 代码说明:使用IIC模拟时序驱动,方便移植到其他平台,采集的光照度比较灵敏. 合成的光照度返回值范围是 0~255。 0表示全黑 255表示很亮。 实测:手机闪光灯照着的状态返回值是245左右,手捂着的状态返回值是10左右. 二、BH1750介绍 ...
void BH1750init(void) { IIC2_Init();//GPIO初始化 bh_data_send(BHPowOn); //发送启动信号 bh_data_send(BHReset); //清除寄存器 bh_data_send(BHModeH1); //设置为模式2 Delay_Ms(180); //最高延时180ms } 2.读取光强数据:①发送起始信号--》 ②发送设备地址+读使能+获取应答--》 ③读取高...
一、环境介绍 MCU: STM32F103ZET6 光敏传感器: BH1750 数字传感器(IIC 接口) 开发软件: Keil5 代码说明: 使用 IIC 模拟时序驱动,方便移植到其他平台,采集的光照度比较灵敏. 合成的光照度返回值范围是 0~255。 0…
下面是使用标准库函数STM32F103C8T6读取BH1750光照强度数据并打印到串口的代码: #include"main.h"#include"stm32f1xx_hal.h"#include"stdio.h"#defineBH1750_ADDRESS0x23//BH1750地址I2C_HandleTypeDef hi2c1;//IIC外设句柄voidSystemClock_Config(void);staticvoidMX_GPIO_Init(void);staticvoidMX_USART1_UART_...
光敏传感器: BH1750数字传感器(IIC接口) 开发软件: Keil5 代码说明:使用IIC模拟时序驱动,方便移植到其他平台,采集的光照度比较灵敏. 合成的光照度返回值范围是 0~255。 0表示全黑 255表示很亮。 实测: 手机闪光灯照着的状态返回值是245左右,手捂着的状态返回值是10左右. 完整工程代码下载: https://download...
在代码中,使用HAL库函数初始化了I2C接口和USART串口,同时使用了STM32提供的延时库函数HAL_Delay()。在主函数中,首先定义了一个缓冲区buf[2]和一个变量value,缓冲区buf[2]用于存储从BH1750读取的光照强度数据。变量value用于存储经过单位转换后的光照强度值。
下载完之后在工程目录下可以找到一个bh1750-v1.0.0文件夹,里面有两个文件,bh1750.c和bh1750.h,这个就是我们需要的驱动代码。 四、配置IIC引脚 在工程根目录下打开env,输入menuconfig进入配置菜单,选择路径Hardware Drivers Config -> on-chip Peripheral Drivers -> EnableI2C1 BUS,配置IIC1的引脚号(不需要特定...
BH1750是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据收集的光线强度...