資源簡介
基于ONENET的物聯(lián)網(wǎng)下位機(jī)工程。使用STM32F103作為MCU,sim800通過http上傳溫濕度至onenet,來實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程的收發(fā),測試穩(wěn)定。

代碼片段和文件信息
#include?“dht11.h“
#include?“delay.h“
//復(fù)位DHT11
void?DHT11_Rst(void) ???
{?????????????????
DHT11_IO_OUT();? //SET?OUTPUT
????DHT11_DQ_OUT=0;? //拉低DQ
????delay_ms(20);???? //拉低至少18ms
????DHT11_DQ_OUT=1;? //DQ=1?
delay_us(30);????? //主機(jī)拉高20~40us
}
//等待DHT11的回應(yīng)
//返回1:未檢測到DHT11的存在
//返回0:存在
u8?DHT11_Check(void)? ???
{???
u8?retry=0;
DHT11_IO_IN();//SET?INPUT ?
????while?(DHT11_DQ_IN&&retry<100)//DHT11會拉低40~80us
{
retry++;
delay_us(1);
}; ?
if(retry>=100)return?1;
else?retry=0;
????while?(!DHT11_DQ_IN&&retry<100)//DHT11拉低后會再次拉高40~80us
{
retry++;
delay_us(1);
};
if(retry>=100)return?1; ????
return?0;
}
//從DHT11讀取一個(gè)位
//返回值:1/0
u8?DHT11_Read_Bit(void)? ?
{
? u8?retry=0;
while(DHT11_DQ_IN&&retry<100)//等待變?yōu)榈碗娖?br/> {
retry++;
delay_us(1);
}
retry=0;
while(!DHT11_DQ_IN&&retry<100)//等待變高電平
{
retry++;
delay_us(1);
}
delay_us(35);//等待35us
if(DHT11_DQ_IN)return?1;
else?return?0; ???
}
//從DHT11讀取一個(gè)字節(jié)
//返回值:讀到的數(shù)據(jù)
u8?DHT11_Read_Byte(void)????
{????????
????u8?idat;
????dat=0;
for?(i=0;i<8;i++)?
{
??? dat<<=1;?
????dat|=DHT11_Read_Bit();
????} ????
????return?dat;
}
//從DHT11讀取一次數(shù)據(jù)
//temp:溫度值(范圍:0~50°)
//humi:濕度值(范圍:20%~90%)
//返回值:0正常;1讀取失敗
u8?DHT11_Read_Data(u8?*temperatureu8?*humidity)????
{????????
? u8?buf[5];
u8?i;
DHT11_Rst();
if(DHT11_Check()==0)
{
for(i=0;i<5;i++)//讀取40位數(shù)據(jù)
{
buf[i]=DHT11_Read_Byte();
}
if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])
{
*humidity=buf[0];
*temperature=buf[2];
}
}else?return?1;
return?0; ????
}
//初始化DHT11的IO口?DQ?同時(shí)檢測DHT11的存在
//返回1:不存在
//返回0:存在???? ?
u8?DHT11_Init(void)
{ ?
? GPIO_InitTypeDef??GPIO_InitStructure;
?
? RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG?ENABLE); ?//使能PG端口時(shí)鐘
? GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_11; ?//PG11端口配置
? GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP;? ?//推挽輸出
? GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
? GPIO_Init(GPIOG?&GPIO_InitStructure); ?//初始化IO口
? GPIO_SetBits(GPIOGGPIO_Pin_11); ?//PG11?輸出高
????
DHT11_Rst();??//復(fù)位DHT11
return?DHT11_Check();//等待DHT11的回應(yīng)
}?
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????2338??2017-08-03?15:44??800C_ONENET_HTTP_DEMO\Devices\dht11.c
?????文件????????626??2017-08-03?15:43??800C_ONENET_HTTP_DEMO\Devices\dht11.h
?????文件???????2942??2017-08-02?15:01??800C_ONENET_HTTP_DEMO\Hal\usart1.c
?????文件????????342??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Hal\usart1.h
?????文件???????3585??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Hal\usart2.c
?????文件????????508??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Hal\usart2.h
?????文件??????16669??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\core_cm3.c
?????文件??????83226??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\core_cm3.h
?????文件??????15398??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\startup\arm\startup_stm32f10x_cl.s
?????文件??????15145??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\startup\arm\startup_stm32f10x_hd.s
?????文件??????15346??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\startup\arm\startup_stm32f10x_hd_vl.s
?????文件??????12079??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\startup\arm\startup_stm32f10x_ld.s
?????文件??????12080??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\startup\arm\startup_stm32f10x_ld.s.bak
?????文件??????13352??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\startup\arm\startup_stm32f10x_ld_vl.s
?????文件??????12458??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\startup\arm\startup_stm32f10x_md.s
?????文件??????13758??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\startup\arm\startup_stm32f10x_md_vl.s
?????文件??????15597??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\startup\arm\startup_stm32f10x_xl.s
?????文件?????633941??2017-08-03?11:46??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\stm32f10x.h
?????文件?????625606??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\stm32f10x.h~RF6912f5.TMP
?????文件?????633941??2017-07-31?15:47??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\stm32f10x.h~RF6db388.TMP
?????文件??????35463??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\system_stm32f10x.c
?????文件???????1987??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\CMSIS\system_stm32f10x.h
?????文件???????8762??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\STM32F10x_StdPeriph_Driver\inc\misc.h
?????文件??????21207??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_adc.h
?????文件???????7360??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_bkp.h
?????文件??????26862??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_can.h
?????文件???????6363??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_cec.h
?????文件???????2068??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_crc.h
?????文件??????14916??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_dac.h
?????文件???????3699??2016-08-08?19:14??800C_ONENET_HTTP_DEMO\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_dbgmcu.h
............此處省略194個(gè)文件信息
評論
共有 條評論