1、BH1750使用IIC接口,CLK接PB8,SDA接PB9;

2、IIC初始化

void IIC_Init(void)

{     
  RCC->APB2ENR|=0X00000008;  
GPIOB->CRH&=0XFFFFFF00;
GPIOB->CRH|=0X00000033;   
GPIOB->ODR|=0X0300;

}

void IIC_Start(void)
{
SDA_OUT();     
IIC_SDA_SET(1);    
IIC_SCL_SET(1); 
delay_us(4);
  IIC_SDA_SET(0);
delay_us(4);
IIC_SCL_SET(0);

}

void IIC_Stop(void)
{
SDA_OUT();
IIC_SCL_SET(0);
IIC_SDA_SET(0);
  delay_us(4);
IIC_SCL_SET(1); 
IIC_SDA_SET(1);

}

u8 IIC_Wait_Ack(void)
{
u8 ucErrTime=0;
SDA_IN();

IIC_SDA_SET(1);

delay_us(1);

IIC_SCL_SET(1);  
while(READ_SDA())
{
ucErrTime++;
if(ucErrTime>250)
{
IIC_Stop();
return 0;
}
}
IIC_SCL_SET(0);   
return 1;

}

void IIC_Ack(void)
{
IIC_SCL_SET(0);
SDA_OUT();
IIC_SDA_SET(0);
delay_us(1);
IIC_SCL_SET(1);
delay_us(1);
IIC_SCL_SET(0);

}

void IIC_NAck(void)
{
IIC_SCL_SET(0);
SDA_OUT();
IIC_SDA_SET(1);
delay_us(1);
IIC_SCL_SET(1);
delay_us(1);
IIC_SCL_SET(0);

}

void IIC_Send_Byte(u8 txd)
{                        
    u8 t;   
SDA_OUT();    
    IIC_SCL_SET(0);
    for(t=0;t<8;t++)
    {              
        IIC_SDA_SET((txd&0x80)>>7);
        txd<<=1;  
delay_us(1);   
IIC_SCL_SET(1);
delay_us(1); 
IIC_SCL_SET(0);
delay_us(1);
    }

}

u8 IIC_Read_Byte(unsigned char ack)
{
unsigned char i,receive=0;
SDA_IN();
    for(i=0;i<8;i++ )
{
        IIC_SCL_SET(0); 
        delay_us(1);
IIC_SCL_SET(1);
        receive<<=1;
        if(READ_SDA())
receive++;    
    }  
    if (!ack)
        IIC_NAck();
    else
        IIC_Ack();   
    return receive;

}

3、主函数调用

int main(void)
{
   IIC_Init();
   BH1750_Write(0x01);
   BH1750_Write(0x13);

while(1)
  {

Data=BH1750_Read_Data(); 
  delay(1000);

BH_temp=(float)(Data)/1.2;

}

STM32F103采集光照传感器BH1750程序,测试可以用相关推荐

  1. 51lcd显示光传感器c语言程序,基于51单片机1602液晶显示GY-30数字光照传感器BH1750FVI程序实例...

    基于51单片机1602液晶显示GY-30数字光照传感器BH1750FVI程序实例,系统由GY-30数字光照传感器.51单片机最小系统.1602液晶显示屏组成,电路简单,附件中的程序是实物验证过了的.1 ...

  2. STM32 驱动 GY-302 光照传感器 BH1750 模块(软件IIC与硬件IIC驱动)

    1.特别说明 ​ 要是不想看原理和过程,直接下拉找代码吧,都是测试过的,很稳定,有硬件I2C驱动的,也有软件模拟I2C驱动的,基于STM32F103系列和STM32F4系列实现,基于标准库实现,条理清 ...

  3. BH1750程序测试

    注意事项 1.DVI引脚电路,根据手册上显示DVI引脚上电要和VCC有一个时间差 电路图参考网络上的原理图可以这样接(下图),也可以接单片机引脚,用单片机引脚来控制逻辑电路的上电,实际情况测试直接接V ...

  4. BH1750 光照传感器文档详解 及 驱动设计

    前言 最近接触到一个应用,需要在低功耗的产品上加上光照度采集,正好最近有接触到一款光照传感器 BH1750 ,性能价格都合适,那么今天就抽空来好好测试一下. 那么要写一篇测试文章,我会尽量以新手的角度 ...

  5. BH1750( GY-302 )光照传感器

    文章目录 一.产品简介 二.IIC通信 三.BH1750的使用 四.程序源码 这里我先简单的介绍一下BH1750光照传感器模块的基本信息(不多废话),我将着重讲解它的使用部分,相信对于屏幕前的你也是更 ...

  6. CC2530下ZigBee协议栈中添加BH1750数字光照传感器

    项目里需要获得光照强度,之前用的是光敏电阻,但是光敏电阻实在不精确,换用BH1750数字光照传感器.网上购买后,送的资料都是单片机的,移植到ZigBee协议栈里面,时序有些问题,在网上找的一些资料,很 ...

  7. 使用STM32F103采集Si7021温湿度传感器数据

    使用STM32F103采集Si7021温湿度传感器数据 2019.06.13 更新 最近弄了个GitHub仓库,想要下载源码但又不想弄积分的朋友可以直接到我的GitHub上克隆 https://git ...

  8. java传感器编程_JSensorReader 无线传感器网络环境,直接从节点读取 采集数据的java程序 Script 249万源代码下载- www.pudn.com...

    文件名称: JSensorReader下载  收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 9946 KB 上传时间: 2015-12-29 下载次数: 0 详细说明 ...

  9. 涂鸦模组开发光照传感器

    涂鸦模组开发光照传感器(OPT3006) 概述 涂鸦智能 视频教学 系统框架设计 OPT3006 超薄环境光传感器 TYZS5 模组 特点 PCB绘制 涂鸦零代码开发 涂鸦模组开发文章 最后 概述 亮 ...

  10. 高精度光照传感器基本介绍

    高精度光照传感器基本介绍 光照传感器内部采用了目前光照采集方面灵敏度较高的光敏采集器件,该器件拥有灵敏度高,响应迅速等诸多优点.内部还配有滤光片,余弦修正器,配合高精度的模拟电路,以及程序处理,对光照 ...

最新文章

  1. 跨平台网络游戏趋势和优势
  2. Java File类总结和FileUtils类
  3. poj 2069 Super Star 最小求覆盖【爬山算法】
  4. docker 入门教程指南
  5. win7下安装rose
  6. C# 移动开发(Xamarin.Form) Plugin.BLE 蓝牙连接
  7. r perl python电脑要求_Shell Perl Python 介绍
  8. Github标星3w+,热榜第一,如何用Python实现所有算法
  9. c++文件中jni库找不到报红
  10. php 一键登录插件,FastAdmin一键管理插件
  11. math.atan_JavaScript中带有示例的Math.atan()方法
  12. 【小点点】上架了他们的官方Windows 8应用
  13. ASP.NET2.0的快速入门站点
  14. 一个类似权限挂载的设计
  15. 使用GifCam软件录制gif动图
  16. mac 配置host
  17. AFML读书笔记--Sample weight
  18. 跟领导汇报工作时,这句话建议你不要说
  19. 《深入核心的敏捷开发:ThoughtWorks五大关键实践》读书摘记
  20. java环境搭建安装

热门文章

  1. [电脑驱动向]笔记本键盘失灵,电脑插耳机没反应,不要着急拿去物理维修,可能是bios驱动需要更新
  2. PDF文件如何加密?分享两种好用方法
  3. 【渝粤教育】电大中专电商运营实操 (4)作业 题库
  4. php链路追踪molten
  5. 高绩效团队-VUCA时代的五个管理策略《二》—代际管理
  6. javascript 去掉html标签,js怎么去掉html标签
  7. RGB颜色值在线转换工具
  8. 模数转换器matlab仿真,基于MATLAB的1.5位/级10位流水线结构模数转换器系统仿真(图)...
  9. EfficientNET_V1
  10. Anaconda修改国内镜像源