• 大小: 1KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: 其他
  • 标签: TSL2561  STM32  

资源简介

光照强度传感器TSL2561的测试驱动代码,基于STM32F103的TSL2561驱动程序

资源截图

代码片段和文件信息

#include “tsl2561.h“
#include “delay.h“
#include “myiic.h“
#include 
#include 

uint16_t       commadChannel0Channel1temp;
uint16_t DataLow0DataHigh0DataLow1DataHigh1;
double QE;
void tsl2561_Init(void)
{
 IIC_Init();
 TSL2561_Write(0x800x03); //设置TSL2561未开启状态
 delay_ms(10);
}
void respons() 
{   
 unsigned long i;  
 IIC_SCL=1;  
 delay_us(4);   
 while((IIC_SDA==1)&&(i<1000))   
 i++;  
 IIC_SCL=0;    
 delay_us(4); 
}
void TSL2561_Write(uchar commanduchar date)
{
 IIC_Start();   
 IIC_Send_Byte(0x72);      //
 respons();   
 IIC_Send_Byte(command);  
 respons();   
 IIC_Send_Byte(date);  
 respons();  
 IIC_Stop();
}
uchar TSL2561_Read(uchar command) 
{   
 uchar date;  
 IIC_Start();   
 IIC_Send_Byte(0x72);  
 respons();   
 IIC_Send_Byte(command);  
 respons();  
 IIC_Start();   
 IIC_Send_Byte(0x73);  
 respons();   
 date = IIC_Read_Byte(0);  
 IIC_Stop();  
 return date; 
}
/********************************************************/


//这里非常关键 是官方提供的运算公式,根据这个公式得到我们需要的光强数据,并不是只需要读取传感器中的寄存器数据就足够了,要注意
double Read_Light() 
{
 DataLow0 = TSL2561_Read(DATA0LOW);  
 DataHigh0 = TSL2561_Read(DATA0HIGH);  
 Channel0 = 256*DataHigh0 + DataLow0; 
 DataLow1 = TSL2561_Read(DATA1LOW);  
 DataHigh1 = TSL2561_Read(DATA1HIGH);  
 Channel1 = 256*DataHigh1 + DataLow1; 
 delay_ms(10);
 
Q=((double)Channel1/(double)Channel0);

if(0 else if(0.50 else if(0.61 else if(0.80 else if(Q>1.30)  E=0;

return E;
}

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


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-01-14 13:24  TSL2561\
     文件        1839  2015-07-08 13:21  TSL2561\tsl2561.c
     文件         399  2015-06-03 19:38  TSL2561\tsl2561.h

评论

共有 条评论