bh1750.zip

  • akbar1368
    了解作者
  • C/C++
    开发工具
  • 1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 1
    下载次数
  • 2016-08-22 13:13
    上传日期
lux sensor bh1750 library for avr and arm
bh1750.zip
  • bh1750.h
    2.2KB
内容介绍
#ifndef _BH1750_ #define _BH1750_ #define XTWIE 0 #define XTWEN 2 #define XTWWC 3 #define XXTWSTO 4 #define XTWSTA 5 #define XTWEA 6 #define XTWINT 7 #define START 0x08 #define Repeated_START 0x10 #define MT_SLA_ACK 0x18 #define MT_SLA_NACK 0x20 #define MT_DATA_ACK 0x28 #define MT_DATA_NACK 0x30 #define MT_ARB_LOST 0x38 #define MR_ARB_LOST 0x38 #define MR_SLA_ACK 0x40 #define MR_SLA_NACK 0x48 #define MR_DATA_ACK 0x50 #define MR_DATA_NACK 0x58 #define GlobalAddress 0 #define BH1750_I2CADDR 0x23 #define BH1750_CONTINUOUS_HIGH_RES_MODE 0x10 unsigned int BH1750_MR(unsigned char address_device); void BH1750_MT(unsigned char data , unsigned char address_device); unsigned int BH1750_MR(unsigned char address_device) { unsigned int get_data; // putsf("MR1\r"); TWCR=(1<<XTWINT) | (1<<XTWEN) | (1<<XTWSTA); //start state while(!(TWCR & (1<<XTWINT))); //waite for responce if((TWSR & 0xF8)==START || (TWSR & 0xF8)==Repeated_START ) { TWDR=(address_device<<1) | 0x01 ; TWCR=(1<<XTWINT) | (1<<XTWEN); while(!(TWCR & (1<<XTWINT))); } if((TWSR & 0xF8)==MR_SLA_ACK) { TWCR=(1<<XTWINT) | (1<<XTWEN) |(1<<XTWEA); while(!(TWCR & (1<<XTWINT))); //printf("Hbyte:%x\r",TWDR); get_data=TWDR<<8; TWCR=(1<<XTWINT)|(1<<XTWEN); while(!(TWCR & (1<<XTWINT))); // printf("Lbyte:%x\r",TWDR); get_data|=TWDR & 0x00FF; TWCR=(1<<XTWINT)|(1<<XTWEN); while(!(TWCR & (1<<XTWINT))); } TWCR=(1<<XTWINT) | (1<<XTWEN) | (1<<XXTWSTO); return get_data/1.2; } //******************************************************************************** //***************************************************************************** void BH1750_MT(unsigned char data , unsigned char address_device) { TWCR=(1<<XTWINT)| (1<<XTWEN) | (1<<XTWSTA); while(!(TWCR & (1<<XTWINT))); if((TWSR & 0xF8)==START || (TWSR & 0xF8)==Repeated_START) { TWDR=(address_device << 1)& 0xFE; TWCR=(1<<XTWINT)|(1<<XTWEN); while(!(TWCR & (1<<XTWINT))); } if((TWSR & 0xF8)==MT_SLA_ACK) { TWDR=data; TWCR=(1<<XTWINT) | (1<<XTWEN); while(!(TWCR & (1<<XTWINT))); } TWCR=(1<<XTWINT) | (1<<XTWEN) | (1<<XXTWSTO); } #endif
评论
    相关推荐
    • BH1750.zip
      BH1750 MSP430F149 已经坐板应用了,好用
    • BH1750FVI IIC测试.zip
      BH1750FVI测试,用stc80c51芯片和LCD1062显示采集的光照强度信息
    • BH1750.zip
      C8051单片机,C语言,实现BH1750基本功能
    • BH1750光强传感器
      产品规格书 :SPECIFICATION 型 号:光强传感器 描 述:光强传感器 生产执行标准参考 企业质量体系标准:ISO9001:2016标准 传感器生产标准:GB/T191SJ 20873-2016 产品试验检测标准:GB/T191SJ 20873-2016 ...
    • BH1750.zip
      stm32通过IIC控制BH1750读取光照度,通过IIC读出光照度,并通过UART发送至上位机。包含完整工程。经过验证,可直接使用
    • bh1750光照
      bh1750模块,串口打印数据,然后加了一个平均值的算法,去掉最大值,最小值,求平均数据,使得读取的数据更加稳定
    • BH1750.zip
      使用stm32f103采集BH1750光强数据,通过LoRa发送到电脑串口显示。
    • BH1750源码
      BH1750 传感器51单片机源码
    • bh1750.zip
      光照传感器驱动,bh1750 i2C驱动
    • Proteus7.12.rar
      Proteus7.12完美破解版.rar电路仿真软件很好用可以仿真单片数字模拟电路