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

資源簡介

ds18b20單總線程序耗時較久,實際應用中局限較大,本程序采用10us定時中斷方式,驗證成功,采用程序放中斷中,主程序中放到合適位置調用讀取數據即可。

資源截圖

代碼片段和文件信息

#include?“DS18B20.h“

#define?DS18B20_OUT_H() (GPIOB->BSRR=GPIO_Pin_5)?//輸出高
#define?DS18B20_OUT_L() (GPIOB->BRR=GPIO_Pin_5) ?//輸出低

//#define?AM2305_IN_X (GPIOB->IDR&GPIO_Pin_5)??//?對應端口輸入寄存器
#define?DS18B20_DQ_IN GPIO_ReadInputDataBit(GPIOBGPIO_Pin_5)

#define?DisRequset_STU? ?0//收到通信請求
#define?EnableRequest_STU? ?1//收到通信請求
#define?StartRST_STU? ?2//起始+復位信號
#define?StartWriteCC_STU?3//啟動轉換
#define?WriteRST_STU? ?4//啟動轉換后復位信號
#define?WriteCC_STU? ?5//讀取命令
#define?ReadTemp_STU?????6//?讀取2個字節(jié)數據
#define?ReadOK_STU???????7//?讀取完畢


#define?WriteData44_STU?1//
#define?WriteDatabe_STU?2//

u8?R_DS18B20_WBCnt?=?0;
u8?R_DS18B20_ComuTime?=?0;
u8?R_DS18B20_TempL?=?0;
u8?R_DS18B20_TempH?=?0;
u8?R_DS18B20_Bytecnt?=?0;
u8?R_DS18B20_Data?=?0;
u8?R_DS18B20_State?=?0;
u8?R_DS18B20_Request?=?0;
u8?R_WriteDS18_State?=?0;
u8?R_DS18B20_WDataBak?=?0;
u8?R_GotTemp?=?0;

static?void?DS18B20_IO_OUT(void)
{
// GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_5;
// GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP;
// GPIO_Init(GPIOE?&GPIO_InitStructure);
GPIO_OutConfigInit(PortBPB5_AM2302_DATA); //推挽輸出
}

static?void?DS18B20_IO_IN(void)
{
// GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_5;
// GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IPU;
// GPIO_Init(GPIOE?&GPIO_InitStructure);
GPIO_InConfigInit(PortBPB5_AM2302_DATA);?//上拉輸入
}

void?Ds18B20_ReadDate_RT(void)
{
u8?i?=?0;
if(!R_DS18B20_State?)
return;
if(R_DS18B20_State?==?EnableRequest_STU)
{
?R_DS18B20_State?=?StartRST_STU;
?DS18B20_IO_OUT();
}
switch(R_DS18B20_State)
{
case?StartRST_STU:
case?WriteRST_STU:
{
R_DS18B20_ComuTime++;
?
?
? if(R_DS18B20_ComuTime?<65)
? { ?
DS18B20_OUT_L();? //拉低DQ?拉低650us
??}
else?
{
DS18B20_IO_IN();
if(R_DS18B20_ComuTime?>?75)
{
if(!(DS18B20_DQ_IN))
{
i=?0x55;
}
?
?if(R_DS18B20_ComuTime?>?90)??//等待DS18B20響應
{
R_DS18B20_ComuTime?=?0;
if(R_DS18B20_State?==?StartRST_STU)
? R_DS18B20_State?=?StartWriteCC_STU;
?
if(R_DS18B20_State?==?WriteRST_STU)
?R_DS18B20_State?=?WriteCC_STU;
}
??}
}
break;
}
case?StartWriteCC_STU:?????????????//寫入?cc?44
case?WriteCC_STU: //寫入?cc?be
{
?u8?Wstate?=?0;
?
?if(R_WriteDS18_State?==?0)
?{
? ?Wstate?=?DS18B20_Write_Byte(0xcc);
? ? //if(DS18B20_Write_Byte(u8?0xcc))
? ? if(Wstate)
? ? {
? ? ?if(R_DS18B20_State?==?StartWriteCC_STU)
? ? ? ??R_WriteDS18_State?=?WriteData44_STU;
? ? ? ??
? ? ?if(R_DS18B20_State?==?WriteCC_STU)
? ? ? ?R_WriteDS18_State?=?WriteDatabe_STU;?
?? }
???}
???else
???{
?? ?if(R_WriteDS18_State?==?WriteData44_STU)
??? ?{
??? ???if(DS18B20_Write_Byte(0x44))
??? ???{
??? ? ??R_DS18B20_State?=?WriteRST_STU;
???

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????640??2018-09-27?23:03??DS18B20.h
?????文件????????6556??2018-09-27?23:03??DS18B20.c

評論

共有 條評論