91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-16
  • 語言: 其他
  • 標簽: BMP180??

資源簡介

基于MPS430的BMP180程序,模擬IIC,與其他單片機通用

資源截圖

代碼片段和文件信息

#include?“bmp280.h“

extern?void?delay_us(u16?us);
extern?void?delay_ms(u16?ms);


?BMP280_T?g_tBMP280?;

static?void?i2c_Delay(void)
{
uint8_t?i;

/* 
CPU主頻168MHz時,在內部Flash運行?MDK工程不優化。用臺式示波器觀測波形。
循環次數為5時,SCL頻率?=?1.78MHz?(讀耗時:?92ms?讀寫正常,但是用示波器探頭碰上就讀寫失敗。時序接近臨界)
循環次數為10時,SCL頻率?=?1.1MHz?(讀耗時:?138ms?讀速度:?118724B/s)
循環次數為30時,SCL頻率?=?440KHz,?SCL高電平時間1.0us,SCL低電平時間1.2us

上拉電阻選擇2.2K歐時,SCL上升沿時間約0.5us,如果選4.7K歐,則上升沿約1us

實際應用選擇400KHz左右的速率即可
*/
for?(i?=?0;?i?}

/*
*********************************************************************************************************
* 函?數?名:?i2c_Start
* 功能說明:?CPU發起I2C總線啟動信號
* 形????參:??無
* 返?回?值:?無
*********************************************************************************************************
*/
static?void?i2c_Start(void)
{
/*?當SCL高電平時,SDA出現一個下跳沿表示I2C總線啟動信號?*/
I2C_SDA_1();
I2C_SCL_1();
i2c_Delay();
I2C_SDA_0();
i2c_Delay();
I2C_SCL_0();
i2c_Delay();
}

/*
*********************************************************************************************************
* 函?數?名:?i2c_Start
* 功能說明:?CPU發起I2C總線停止信號
* 形????參:??無
* 返?回?值:?無
*********************************************************************************************************
*/
static?void?i2c_Stop(void)
{
/*?當SCL高電平時,SDA出現一個上跳沿表示I2C總線停止信號?*/
I2C_SDA_0();
I2C_SCL_1();
i2c_Delay();
I2C_SDA_1();
}

/*
*********************************************************************************************************
* 函?數?名:?i2c_SendByte
* 功能說明:?CPU向I2C總線設備發送8bit數據
* 形????參:??_ucByte?:?等待發送的字節
* 返?回?值:?無
*********************************************************************************************************
*/
static?void?i2c_SendByte(uint8_t?_ucByte)
{
uint8_t?i;

/*?先發送字節的高位bit7?*/
for?(i?=?0;?i? {
if?(_ucByte?&?0x80)
{
I2C_SDA_1();
}
else
{
I2C_SDA_0();
}
i2c_Delay();
I2C_SCL_1();
i2c_Delay();
I2C_SCL_0();
if?(i?==?7)
{
?I2C_SDA_1();?//?釋放總線
}
_ucByte?<<=?1; /*?左移一個bit?*/
i2c_Delay();
}
}

/*
*********************************************************************************************************
* 函?數?名:?i2c_ReadByte
* 功能說明:?CPU從I2C總線設備讀取8bit數據
* 形????參:??無
* 返?回?值:?讀到的數據
*********************************************************************************************************
*/
static?uint8_t?i2c_ReadByte(void)
{
uint8_t?i;
uint8_t?value;

/*?讀到第1個bit為數據的bit7?*/
value?=?0;
for?(i?=?0;?i? {
value?<<=?1;
I2C_SCL_1();
i2c_Delay();
if?(I2C_SDA_READ())
{
value++;
}
I2C_SCL_0();
i2c_Delay();
}
return?value;
}

/*
*********************************************************************************************************
* 函?數?名:?i2c_WaitAck
* 功能說明:?CPU產生一個時鐘,并讀取器件的ACK應答信號
* 形????參:??無
* 返?回?值:?返回0表示正確應答,1表示無器件響應
*******************************************************************************************************

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????10657??2015-03-29?22:26??bmp180\bmp280.c

?????文件???????1445??2015-03-29?22:24??bmp180\bmp280.h

?????文件???????3458??2015-03-30?18:03??bmp180\main.c

?????目錄??????????0??2015-04-21?10:38??bmp180

-----------?---------??----------?-----??----

????????????????15560????????????????????4


評論

共有 條評論