女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁(yè) > 技術(shù)學(xué)院 > 熱搜器件
[導(dǎo)讀]網(wǎng)絡(luò)上已經(jīng)有不少的18B20驅(qū)動(dòng)程序了,現(xiàn)在為你提供個(gè)我自己寫的,編寫規(guī)范的,在實(shí)際工程上使用良好的代碼.....注意:1、在實(shí)際的工程上,我用了光藕隔離了MCU與DS18B20的通信,并且它們也是單獨(dú)提供電壓的。因此MCU

網(wǎng)絡(luò)上已經(jīng)有不少的18B20驅(qū)動(dòng)程序了,

現(xiàn)在為你提供個(gè)我自己寫的,編寫規(guī)范的,

在實(shí)際工程上使用良好的代碼.....

注意:

1、在實(shí)際的工程上,我用了光藕隔離了

MCU與DS18B20的通信,并且它們也是單獨(dú)

提供電壓的。因此MCU用了2個(gè)IO,一個(gè)讀、一個(gè)寫。

移植時(shí),你需要定義MCU操作的IO口。

2、我的實(shí)際工程中只用到每度單位,你可以根據(jù)你的需要修改。

3、DS18B20_StartConvertTemp()與DS18B20_GetTemperature()之間

的正確調(diào)用要間隔>750MS。

4、沒有使用CRC8校驗(yàn),只使用了一些識(shí)別錯(cuò)誤的BIT。

*/

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

// 當(dāng)前宏定義

#define COM_ROM_READ 0X33 // ROM操作命令

#define COM_ROM_MATCH 0X55

#define COM_ROM_SKIP 0XCC

#define COM_ROM_SEARCH 0XF0

#define COM_ROM_ALARM 0XEC

#define COM_MEM_CONVERT_T 0X44 // 寄存器操作命令

#define COM_MEM_READ_SCR 0XBE

#define COM_MEM_WRITE_SCR 0X4E

#define COM_MEM_COPY_SCR 0X48

#define COM_MEM_RECALL_E 0XB8

#define COM_MEM_READ_POWER 0XB4

/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

** US延遲函數(shù)

** 注意:必須根據(jù)不同的MCU、晶體頻率而做更改

*/

static void DS18B20_DelayUs(INT8U us) // @8MHZ

{

for(; us>0; us--)

{

asm("nop");

asm("nop");

}

}

/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

** 啟動(dòng)時(shí)序,返回應(yīng)答位

** (0)表示OK,否則錯(cuò)誤

** 注意:

(1)時(shí)序的準(zhǔn)確性

(2)開關(guān)全局中斷

*/

static BOOLEAN DS18B20_Restart(void)

{

BOOLEAN rBit;

BOOLEAN gIE = 0;

if( __get_SR_register() & GIE ) // 保存當(dāng)前全局中斷的狀態(tài)

{

gIE = 1;

__disable_interrupt();

}

DS18B20_CLR_OUT();

DS18B20_DelayUs(200);

DS18B20_DelayUs(200);

DS18B20_DelayUs(200);

DS18B20_SET_OUT();

DS18B20_DelayUs(90);

if( DS18B20_READ_IN() )

rBit = 1;

else

rBit = 0;

if( gIE ) // 恢復(fù)當(dāng)前全局中斷的狀態(tài)

__enable_interrupt();

DS18B20_DelayUs(200);

DS18B20_DelayUs(200);

return(rBit);

}

/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

** DS18B20讀位函數(shù)

** 注意:

(1)時(shí)序的準(zhǔn)確性

(2)開關(guān)全局中斷

*/

static BOOLEAN DS18B20_ReadBit(void)

{

BOOLEAN rBit;

BOOLEAN gIE = 0;

if( __get_SR_register() & GIE ) // 保存當(dāng)前全局中斷的狀態(tài)

{

gIE = 1;

__disable_interrupt();

}

DS18B20_CLR_OUT();

DS18B20_DelayUs(4);

DS18B20_SET_OUT();

DS18B20_DelayUs(4);

if( DS18B20_READ_IN() )

rBit = 1;

else

rBit = 0;

DS18B20_DelayUs(60);

if( gIE ) // 恢復(fù)當(dāng)前全局中斷的狀態(tài)

__enable_interrupt();

return(rBit);

}

/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

** DS18B20寫位函數(shù)

** 注意:

(1)時(shí)序的準(zhǔn)確性

(2)開關(guān)全局中斷

*/

static void DS18B20_WriteBit(BOOLEAN bVal)

{

BOOLEAN gIE = 0;

if( __get_SR_register() & GIE ) // 保存當(dāng)前全局中斷的狀態(tài)

{

gIE = 1;

__disable_interrupt();

}

DS18B20_CLR_OUT();

DS18B20_DelayUs(7);

if(bVal)

{

DS18B20_SET_OUT();

}

else

{

DS18B20_CLR_OUT();

}

DS18B20_DelayUs(60);

DS18B20_SET_OUT();

DS18B20_DelayUs(10);

if( gIE ) // 恢復(fù)當(dāng)前全局中斷的狀態(tài)

__enable_interrupt();

}

/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

** 從DS18B20讀字節(jié)數(shù)據(jù)

*/

static INT8U DS18B20_ReadByte(void)

{

INT8U i, tmp=0;

for(i=0; i<8; i++)

{

tmp >>= 1;

if( DS18B20_ReadBit() )

tmp |= 0x80;

}

return(tmp);

}

/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

** 往DS18B20內(nèi)寫字節(jié)數(shù)據(jù)

*/

static void DS18B20_WriteByte(INT8U val)

{

INT8U i;

for(i=0; i<8; i++)

{

if(val & 0x01)

DS18B20_WriteBit(1);

else

DS18B20_WriteBit(0);

val >>= 1;

}

}

/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

** 啟動(dòng)溫度轉(zhuǎn)換函數(shù)

** 成功返回(0),否則(1)

** 注意:溫度轉(zhuǎn)換位數(shù)對(duì)應(yīng)的最大轉(zhuǎn)換時(shí)間

** 9BIT = 93.75MS

** 10BIT = 187.5MS

** 11BIT = 375MS

** 12BIT = 750MS

*/

BOOLEAN DS18B20_StartConvertTemp(void)

{

INT8U cnt = 5;

while( --cnt && DS18B20_Restart() );

if(cnt == 0)

return(1);

DS18B20_WriteByte(COM_ROM_SKIP);

DS18B20_WriteByte(COM_MEM_CONVERT_T);

return(0);

}

/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

** 讀取溫度,步長(zhǎng)是1度C

** 成功返回(0),溫度值寫入有符號(hào)數(shù)*pTemp中;否則(1),無(wú)操作*pTemp。

** 注意:

(1)自動(dòng)識(shí)別DS18B20的溫度轉(zhuǎn)換位數(shù)BIT9-12,產(chǎn)生對(duì)應(yīng)的溫度

(2)精度設(shè)定為1度C

(3)包含寄存器某些位的正確檢測(cè)

*/

BOOLEAN DS18B20_GetTemperature(INT8S *pTemp)

{

INT16S temp;

INT8U config;

INT8U cnt = 5;

while( --cnt && DS18B20_Restart() );

if(cnt == 0)

return(1);

DS18B20_WriteByte(COM_ROM_SKIP);

DS18B20_WriteByte(COM_MEM_READ_SCR);

((INT8U*)(&temp))[0] = DS18B20_ReadByte();

((INT8U*)(&temp))[1] = DS18B20_ReadByte();

DS18B20_ReadByte();

DS18B20_ReadByte();

config = DS18B20_ReadByte(); // 忽略其它4字節(jié),無(wú)CRC-8校驗(yàn)

if((config & (~0x60)) != 0x1F) // 讀數(shù)據(jù)錯(cuò)誤判斷

return(1);

if( (0x0000 != (0xF800 & temp)) && (0xF800 != (0xF800 & temp)) )

return(1);

switch(config & 0x60) // 識(shí)別溫度轉(zhuǎn)換位數(shù)并轉(zhuǎn)化為度C

{

case 0x00: temp >>=1; break; // 9bit/0.5C

case 0x20: temp >>=2; break; // 10bit/0.25C

case 0x40: temp >>=3; break; // 11bit/0.125C

case 0x60: temp >>=4; break; // 12bit/0.0625C

}

*pTemp = temp;

return(0);

}

/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

** EOF

*/

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

北京2025年9月10日 /美通社/ -- 以"智領(lǐng)工業(yè) 全球互聯(lián)"為主題的2025全球工業(yè)互聯(lián)網(wǎng)融合發(fā)展交流大會(huì)于9月6日在中國(guó)東北遼寧省沈陽(yáng)市舉行。 圖為2025全球工業(yè)互聯(lián)網(wǎng)融合發(fā)展交流大會(huì)9月6日于遼寧沈陽(yáng)舉辦...

關(guān)鍵字: 工業(yè)互聯(lián)網(wǎng) 數(shù)字化 COM HTML

柏林2025年9月9日 /美通社/ -- 總部位于迪拜的生活方式科技品牌ASTRAUX強(qiáng)勢(shì)亮相2025年柏林國(guó)際電子消費(fèi)品展覽會(huì)(IFA),首次推出的三款原創(chuàng)產(chǎn)品引發(fā)廣泛關(guān)注,成功將品牌推向綠色出行與智能生活領(lǐng)域的輿論焦...

關(guān)鍵字: ST COM AI GLOBAL

上海2025年9月9日 /美通社/ -- 9月8日,移遠(yuǎn)通信宣布,其自研藍(lán)牙協(xié)議棧DynaBlue率先通過(guò)藍(lán)牙技術(shù)聯(lián)盟(SIG)BQB 6.1標(biāo)準(zhǔn)認(rèn)證。作為移遠(yuǎn)深耕短距離通信...

關(guān)鍵字: 藍(lán)牙協(xié)議棧 移遠(yuǎn)通信 COM BSP

全鏈路破解業(yè)主招商去化難題 上海2025年8月11日 /美通社/ -- 面對(duì)當(dāng)前商業(yè)地產(chǎn)市場(chǎng)招商難、去化慢的普遍困境,仲量聯(lián)行結(jié)合自身行業(yè)優(yōu)勢(shì)及領(lǐng)先的科技產(chǎn)品研發(fā)能力,重磅升級(jí)多款地產(chǎn)科技工具以輔助業(yè)主客戶在當(dāng)下市場(chǎng)困...

關(guān)鍵字: 數(shù)字化 BSP COM LAN

上海2025年8月11日 /美通社/ -- 近日,英飛凌科技宣布為北京市企業(yè)家環(huán)?;饡?huì)(以下簡(jiǎn)稱"SEE基金會(huì)")與四川省綠色江河環(huán)境保護(hù)促進(jìn)會(huì)(以下簡(jiǎn)稱"綠色江河")共同發(fā)起的"點(diǎn)綠長(zhǎng)江"項(xiàng)目提供專項(xiàng)捐助和系列支持,...

關(guān)鍵字: 英飛凌 可持續(xù)發(fā)展 INFINEON COM

誠(chéng)邀蒞臨2025德國(guó)國(guó)際汽車及智慧出行博覽會(huì)(簡(jiǎn)稱"2025 IAA") B3 展廳 E40 展位,深入了解麥格納在可持續(xù)材料、動(dòng)力總成和儲(chǔ)能系統(tǒng)等領(lǐng)域的創(chuàng)新成果 親臨戶外實(shí)車演示,聆聽專家解讀麥格納前沿雷達(dá)技...

關(guān)鍵字: BSP COM 雷達(dá) AI

上海2025年8月5日 /美通社/ -- 2025年7月30日,上海"2025思旗獎(jiǎng)(AIflag Awards)"頒獎(jiǎng)盛典上,F(xiàn)ESCO Adecco外企德科上海公司憑借在人力資源管理與A...

關(guān)鍵字: ECC AI AD BSP

麥格納集成式艙內(nèi)感知系統(tǒng),正受到越來(lái)越多汽車制造商的青睞 艙內(nèi)感知系統(tǒng)至關(guān)重要,它能提供全面、靈敏的安全保障,同時(shí)優(yōu)化駕駛體驗(yàn) 艙內(nèi)兒童監(jiān)測(cè)等先進(jìn)功能,能有效保證乘客的安全,避免弱勢(shì)乘客出現(xiàn)熱射病等危險(xiǎn)情況...

關(guān)鍵字: 集成 BSP COM 攝像頭

54% 的受訪高管低估了將AI戰(zhàn)略轉(zhuǎn)化為實(shí)際成果的運(yùn)營(yíng)復(fù)雜性。 僅 22% 的受訪組織為在自動(dòng)化決策中使用 AI 建立了明確的指導(dǎo)方針和護(hù)欄。 64% 的首席營(yíng)...

關(guān)鍵字: IBM AI COM BSP

深圳 2025年6月20日 /美通社/ -- 6月18日,廣和通(Fibocom)與珞博智能(Robopoet)達(dá)成戰(zhàn)略合作,廣和通將為珞博智能旗下AI養(yǎng)成系潮玩Fuzoz...

關(guān)鍵字: COM 通信技術(shù) 無(wú)線通信 全棧
關(guān)閉