• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: 其他
  • 标签: bh1750  光照  传感器  

资源简介

bh1750.c bh1750.h 直接添加到项目中,main.c 中的两个函数在 应用app(我用的是SampleApp.c)里添加进去,就可以直接读出光照数值!

资源截图

代码片段和文件信息

#include “bh1750.h“


static void delay_nus(void)
{        
  int i;
  int n=100;
  for(i=0;i  {
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
  }
}

static void delay_nms(int n)
{
  while(n--)
  {
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
    asm(“nop“);asm(“nop“);asm(“nop“);asm(“nop“);
  }
}


/****************************
*****************************/

static void start_i2c(void)
{
  SDA_W() ;
     //LIGHT_SCK_0() ;
     //delay_nus(20);
  LIGHT_DTA_1();//
  LIGHT_SCK_1() ;//
  delay_nus() ;
  LIGHT_DTA_0() ;
  delay_nus()  ;
  LIGHT_SCK_0() ;
  delay_nus()  ;
  //delay()  ;
}


/********************************

缁撴潫I2C

鏁版嵁鍦ㄦ椂閽熼珮鐢靛钩鐨勬椂鍊欎粠浣庡線楂樿穬鍙?********************************/

static void stop_i2c(void)
{
  SDA_W() ;
  LIGHT_DTA_0() ;
  delay_nus();
  LIGHT_SCK_1() ;
  delay_nus();
  LIGHT_DTA_1() ;
  delay_nus();
  LIGHT_SCK_0() ;
  delay_nus();  
}

/******************************
鍙戦€佸瓧鑺傚苟涓斿垽鏂槸鍚︽敹鍒癆CK
褰撴敹鍒癆CK杩斿洖涓?锛屽惁鍒欒繑鍥炰负1

******************************/
static char i2c_send(unsigned char val)                 
{
        int i;
        char error=0;
        SDA_W();
        for(i=0x80;i>0;i/=2)
{
if(val&i)
LIGHT_DTA_1();
else
LIGHT_DTA_0();
delay_nus();
LIGHT_SCK_1() ; 
delay_nus();
LIGHT_SCK_0() ;
delay_nus();
}
        LIGHT_DTA_1();
        SDA_R();
        //delay_nus();
        LIGHT_SCK_1() ; 
        delay_nus();
        if(LIGHT_DTA())
            error=1;
        delay_nus();
        LIGHT_SCK_0() ;
        return error;
        
}

/***************************
璇诲彇I2C鐨勫瓧鑺傦紝骞朵笖鍙戦€丄CK
褰撳弬鏁颁负1鐨勬椂鍊欏彂閫佷竴涓狝CK(浣庣數骞?
**************************/
static char i2c_read(char ack)
{
        int i;
        char val=0;
        LIGHT_DTA_1();
        //SDA_R();
        for(i=0x80;i>0;i/=2)
                {
                        
                        LIGHT_SCK_1() ;
                        delay_nus();
                        SDA_R();
                        //SDA_W();
                        //LIGHT_DTA_0();
                        //LIGHT_DTA_0() ;
                        
                        //delay_nus();
                        if(LIGHT_DTA())
                                val=(val|i);
                        delay_nu

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4786  2015-08-11 18:18  1750光照数字传感器\bh1750.c

     文件       1267  2015-08-11 18:19  1750光照数字传感器\bh1750.h

     文件        709  2015-08-11 18:20  1750光照数字传感器\main.c

     目录          0  2015-08-11 18:22  1750光照数字传感器

----------- ---------  ---------- -----  ----

                 6762                    4


评论

共有 条评论