資源簡介
光照強度傳感器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
- 上一篇:2017unity3d 特效資源包大合集
- 下一篇:下載網盤.txt191763
評論
共有 條評論