資源簡介
ESP8266連接WiFi獲取網絡時間的完整代碼,SNTP.......
代碼片段和文件信息
#include?“driver/dht11.h“ //?DHT11頭文件
//?全局變量
//==================================================================================
//?DHT11_Data_Array[0]?==?濕度_整數_部分
//?DHT11_Data_Array[1]?==?濕度_小數_部分
//?DHT11_Data_Array[2]?==?溫度_整數_部分
//?DHT11_Data_Array[3]?==?溫度_小數_部分
//?DHT11_Data_Array[4]?==?校驗字節
//?DHT11_Data_Array[5]?==?【1:溫度>=0℃】【0:溫度<0℃】
//-----------------------------------------------------
u8?DHT11_Data_Array[6]?=?{0}; //?DHT11數據數組
u8?DHT11_Data_Char[2][10]={0}; //?DHT11數據字符串【行:濕/溫度】【列:數據字符串】
//?DHT11_Data_Char[0]?==?【濕度字符串】
//?DHT11_Data_Char[1]?==?【溫度字符串】
//==================================================================================
//?毫秒延時函數
//=================================================
void?ICACHE_FLASH_ATTR?Dht11_delay_ms(u32?C_time)
{ for(;C_time>0;C_time--)
os_delay_us(1000);
}
//=================================================
//?GPIO_5(DHT11信號線)設為輸出模式,并輸出參數對應的電平
//===========================================================================
void?ICACHE_FLASH_ATTR?DHT11_Signal_Output(u8?Value_Vol)
{
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U FUNC_GPIO5); //?GPIO5設為IO口
GPIO_OUTPUT_SET(GPIO_ID_PIN(5)Value_Vol); //?IO5設為輸出=X
}
//===========================================================================
//?GPIO_5(DHT11信號線)設為輸入模式
//===========================================================================
void?ICACHE_FLASH_ATTR?DHT11_Signal_Input(void)
{
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U FUNC_GPIO5); //?GPIO5設為IO口
GPIO_DIS_OUTPUT(GPIO_ID_PIN(5)); //?GPIO5失能輸出(輸入)
}
//===========================================================================
//?DHT11:輸出起始信號->接收響應信號
//-----------------------------------------------------
//?返回值: 0 成功
// 1 失敗:規定時間內未接收到響應信號
// 2 失敗:響應信號的低電平時長超時
//===========================================================================
u8?ICACHE_FLASH_ATTR?DHT11_Start_Signal_JX(void)
{
u8?C_delay_time?=?0; //?延時計時
//?IO5抬高
//--------------------------------------------------------
DHT11_Signal_Output(1); //?DHT11信號線(IO5)?==?輸出高
Dht11_delay_ms(1);
//?IO5拉低(25ms):起始信號
//---------------------------------------------
GPIO_OUTPUT_SET(GPIO_ID_PIN(5)0); //?IO5?=?0
Dht11_delay_ms(25);
//?IO5抬高【注:起始信號結束后的約13us,DHT11開始輸出信號】
//---------------------------------------------------------
GPIO_OUTPUT_SET(GPIO_ID_PIN(5)1); //?IO5?=?1
os_delay_us(5); //?延時5us
//?接收響應信號
//……………………………………………………………………………………
//?IO5設為輸入:接收DHT11數據
//-------------------------------------------------
DHT11_Signal_Input(); //?DHT11信號線(IO5)?=?輸入
//?等待響應信號的低電平【最遲等50us】
//-------------------------------------------------------------
while(?GPIO_INPUT_GET(GPIO_ID_PIN(5))==1?&&?C_delay_time<50?)
{
os_delay_us(1); //?1us計時
C_delay_time++;
}
//?響應信號超時未收到
//--------------------------------------------------
if(C_delay_time?>=?50)
return?1; //?失敗:規定時間內未接收到響應信號
C_delay_time?=?0?; /
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3681??2019-10-24?17:58??SNTP\.cproject
?????文件????????833??2018-05-11?17:28??SNTP\.project
?????文件?????344350??2019-10-12?15:03??SNTP\app\.output\eagle\debug\image\eagle.app.v6.out
?????文件?????102666??2019-10-12?15:03??SNTP\app\driver\.output\eagle\debug\lib\libdriver.a
?????文件???????1462??2019-10-12?15:03??SNTP\app\driver\.output\eagle\debug\obj\dht11.d
?????文件??????17036??2019-10-12?15:03??SNTP\app\driver\.output\eagle\debug\obj\dht11.o
?????文件???????1349??2019-10-12?15:03??SNTP\app\driver\.output\eagle\debug\obj\i2c_master.d
?????文件??????19804??2019-10-12?15:03??SNTP\app\driver\.output\eagle\debug\obj\i2c_master.o
?????文件????????183??2019-10-12?15:03??SNTP\app\driver\.output\eagle\debug\obj\oled.d
?????文件??????22900??2019-10-12?15:03??SNTP\app\driver\.output\eagle\debug\obj\oled.o
?????文件???????1475??2019-10-12?15:03??SNTP\app\driver\.output\eagle\debug\obj\uart.d
?????文件??????41404??2019-10-12?15:03??SNTP\app\driver\.output\eagle\debug\obj\uart.o
?????文件??????10440??2018-06-25?22:24??SNTP\app\driver\dht11.c
?????文件??????10343??2018-02-06?20:45??SNTP\app\driver\i2c_master.c
?????文件???????1446??2018-02-06?20:45??SNTP\app\driver\Makefile
?????文件???????7875??2018-07-28?11:48??SNTP\app\driver\oled.c
?????文件??????28009??2018-02-06?20:45??SNTP\app\driver\uart.c
?????文件???????3080??2018-02-06?20:45??SNTP\app\gen_misc.bat
?????文件???????3779??2018-02-06?20:45??SNTP\app\gen_misc.sh
?????文件???????1555??2018-05-23?11:30??SNTP\app\include\driver\dht11.h
?????文件???????3116??2018-02-06?20:45??SNTP\app\include\driver\i2c_master.h
?????文件???????1530??2018-07-14?15:05??SNTP\app\include\driver\oled.h
?????文件???????8836??2018-07-14?14:54??SNTP\app\include\driver\oledfont.h
?????文件???????6808??2018-02-06?20:45??SNTP\app\include\driver\uart.h
?????文件???????7547??2018-02-06?20:45??SNTP\app\include\driver\uart_register.h
?????文件???????1298??2018-05-11?14:23??SNTP\app\include\user_config.h
?????文件???????2846??2018-02-06?20:45??SNTP\app\Makefile
?????文件????????266??2018-02-06?20:45??SNTP\app\make_lib.sh
?????文件????????529??2018-02-06?20:45??SNTP\app\README.md
?????文件??????27874??2019-10-12?15:03??SNTP\app\user\.output\eagle\debug\lib\libuser.a
............此處省略434個文件信息
評論
共有 條評論