xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 3KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發布日期: 2021-06-13
  • 語言: 其他
  • 標簽: MSP430??BH1750代碼??

資源簡介

一一份在MSP430F149上完美運行的1750驅動,經過項目嚴格測測試

資源截圖

代碼片段和文件信息

#include?
#include?“SysDelay.H“
#include?“BH1750.H“
unsigned?int??Lignt_Value;???????????????//存儲讀取光照數據
unsigned?char?Lignt[5]={0};??????????????//存放各位分離數據
unsigned?char?BH_LossFlag;?????????????//BH1750損壞或者連接異常標志
void?Start_BH1750(void)??????????????????//開始BH1750總線
{
?DATA_OUT;???????????????????????????????//設置輸出
?CLK_OUT;
?DATA_OUT1?;
?_NOP();_NOP();
?CLK_OUT1??;
??delay_us(4);???????????????????????????//~5us
?DATA_OUT0?;
??delay_us(4);
?CLK_OUT0??;
?_NOP();

}
void?Stop_BH1750(void)??????????????????//結束BH1750總線
{
???DATA_OUT0?;
??_NOP();
???CLK_OUT1??;
??delay_us(4);??????????????????????????//~5us
????DATA_OUT1?;?
??delay_us(4);??????????????????????????//~5us??
???CLK_OUT0??;
}


void?MS_ACK(unsigned?char?ack1)????????//主機向從機發確認信號
{
?DATA_OUT;?
?if(ack1)
?DATA_OUT1;???????????????????????????//發送高電平??
?else??
?DATA_OUT0;???????????????????????????//確認信號為低電平
??CLK_OUT1??;
??delay_us(4);
??CLK_OUT0??;
??delay_us(4);????????????????????????//~5us
}
/*接收從器件的應答信號

ACK=0?接收到應答信號
ACK=1;接收信號失敗
*/
unsigned?char?SM_ACK(?void?)
{
??unsigned?char?ack;
?
??CLK_OUT1??;?????????????????????????//拉高時鐘線
??delay_us(4);
??DATA_IN???;?????????????????????????//數據線設置為輸入
??ack=BH1750_OUT_DATA;?????????????????//接受輸入數據
??CLK_OUT0??;?????????????????????????//拉低時鐘線
??delay_us(4);
??DATA_OUT??;?????????????????????????//數據線重新設置為輸出?

?return?ack;

}
/*
功能???:向I2C總線寫入字節(數據或命令字)
參數???:COM
返回值?:ACK應答?是否寫入成功
??????0:?成功??1:失敗
*/
unsigned?char?Write_BYTE_I2C(?unsigned?char?Com)
{
??unsigned?char?iack;
for(i=0;?i<8;?i++)????????//8位循環?
{
?if(Com&0x80)????????????????????//發送高電平
???DATA_OUT1;?
?else
???DATA_OUT0;?????????????????//發送低電平
??Com<<=1;?????????????????????//右移一位
????CLK_OUT1??;???????????????//拉高
delay_us(5);
????CLK_OUT0??;???????????????//拉低
delay_us(5);

}
ack=SM_ACK();????????????????//接收從器件應答???????????????????????????//寫完之后要接受從器件應答信號?
return?ack;
}

/*
功能???:從I2C讀取一個字節
參數???:無
返回值?:讀取的數據Data
*/
unsigned?char?Read_BYTE_I2C(void)
{
??unsigned?char?iData?;
??
for(i=0;?i<8;i++)??????????????????//8位循環
{
????DATA_IN???;????????????????????//數據線設置為輸入?
????CLK_OUT1??;????????????????????//拉高
????delay_us(5);
????Data<<=1;
????if(BH1750_OUT_DATA)????????????//讀到高電平
????Data|=1;???????????????????????//相應的位置高
????CLK_OUT0?;?????????????????????//拉低時鐘線
????delay_us(5);
????DATA_OUT??;???????????????????//數據線重新設為輸出
}???????????????????????
return??Data?;???????????????????//
}
/*
功能???:向BH1750寫一個字節
參數???:Data
返回值?:無
*/
unsigned?char?Write_BYTE_BH1750(unsigned?char?Addr_Or_Data)

{
??unsigned?char?Error=0;
??Start_BH1750();??????????????????????//起始總線信號
??Error+=Write_BYTE_I2C(SlaveAddress);?//發送設備地址+寫信號(0)
??Error+=Write_BYTE_I2C(Addr_Or_Data);?//寫入數據(寫入的是對應的指令)
??Stop_BH1750();???????????????????????//結束I2C總線
??return?Error?;
}
/***************************************************************************
向BH1750中寫多個字節
A

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1939??2013-04-20?16:48??新建文件夾\BH1750.H
?????文件????????6954??2013-04-22?18:17??新建文件夾\BH1750.c
?????目錄???????????0??2013-06-14?20:46??新建文件夾\

評論

共有 條評論