光照模块 bh1750

需求 需要用 stm32 来驱动 bh1750 的光照模块 解决 使用硬件 I2C 来驱动,很简单 #include "i2c.h" #define BH1750_ADDRESS 0x23 //BH1750 #define BH1750_MODE_OTH 0x20 int32_t Bh1750GetValue() { uint8_t cmd[] = {BH1750_MODE_OTH}; uint8_t buf[2]; buf[0] = 0x00; HAL_I2C_Master_Transmit(&hi2c1, BH1750_ADDRESS << 1, cmd, 1, 1000); HAL_I2C_Master_Receive(&hi2c1, BH1750_ADDRESS << 1, buf, 2, 1000); int32_t value = (buf[0] << 8) | buf[1]; value = value/1.2; return value; } 参考 STM32应用开发——BH1750光照传感器详解 BH1750光强度传感器Stm32f103驱动(已测试ok) BH1750光照强度传感器 STM32外设系列—BH1750 STM32 读取 BH1750 光照强度数据打印到串口 STM32—DHT11温湿度传感器与BH1750FVI光照传感器(HAL库、含源码)

2024-09-14 · 1 min · 69 words · RamLife

printk 为什么不显示

需求 为什么在驱动调试的时候,有些 printk 没有显示? 解决 printk 打印的信息分等级,只有超过控制台级别,才能被打印出来。 include/linux/kern_levels.h #define KERN_SOH "\001" #define KERN_EMERG KERN_SOH "0" /* 紧急事件,一般是内核崩溃 */ #define KERN_ALERT KERN_SOH "1" /* 必须立即采取行动 */ #define KERN_CRIT KERN_SOH "2" /* 临界条件,比如严重的软件或硬件错误*/ #define KERN_ERR KERN_SOH "3" /* 错误状态,一般设备驱动程序中使用KERN_ERR 报告硬件错误 */ #define KERN_WARNING KERN_SOH "4" /* 警告信息,不会对系统造成严重影响 */ #define KERN_NOTICE KERN_SOH "5" /* 有必要进行提示的一些信息 */ #define KERN_INFO KERN_SOH "6" /* 提示性的信息 */ #define KERN_DEBUG KERN_SOH "7" /* 调试信息 */ 默认的日志级别在 kernel/printk.c 中。可以使用 cat 来获取当前设置的级别....

2020-01-06 · 1 min · 97 words · RamLife