STM32烟雾检测程序 DHT11温湿度采集
单片机源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "adc.h"
- #include "timer.h"
- #include "usart1.h"
- #include "LCD1602.h"
- #include "string.h"
- #include "stdio.h"
- #include "dht11.h"
- void Change_data_handle(void);
- void SHOW_AND_BAOJING_Handle(void);
- u8 KEY_SCAN(void); //按键函数
- u8 key,PPM,Temperature,HUM;
- u16 PPM_MAX=60,Temperature_MAX=40,HUM_MAX=70;//烟雾温湿度上限初始值
- unsigned char Alarm_Buf[16]="Warning";
- char buf[30];
- extern unsigned char RxCounter,Usart1RecBuf[64];
- extern char bUsart1RecFlag;
- //ESP8266相关函数
- #define ESP_RECV_PTYPE_NULL 0
- #define ESP_RECV_PTYPE_DATA 1
- unsigned char cur_conn_id;
- char *strx=0;
- void Clear_Buffer(void)//清空缓存
- {
- u8 i;
- for(i=0;i<64;i++)
- Usart1RecBuf[i]=0;//缓存
- RxCounter=0;
- }
- void esp_ap_mode(void)
- {
- Clear_Buffer();
- Uart1_SendStr("AT+CWMODE=2\r\n"); ////<mode>:1-Station模式,2-AP模式,3-AP兼Station模式
- strx = strstr((const char*)Usart1RecBuf,(const char*)"OK");
- while(strx == NULL)
- {
- Clear_Buffer();
- Uart1_SendStr("AT+CWMODE=2\r\n");
- delay_ms(500);
- strx = strstr((const char*)Usart1RecBuf,(const char*)"OK");
- }
-
- /*
- <ssid>:字符串参数,接入点名称
- <pwd>:字符串参数,密码最长64字节,ASCII
- <chl>:通道号
- < ecn >:0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK
- */
- Clear_Buffer();
- Uart1_SendStr("AT+CWSAP=\"TEST\",\"12345678\",1,3\r\n");
- strx = strstr((const char*)Usart1RecBuf,(const char*)"OK");
- while(strx == NULL)
- {
- Clear_Buffer();
- Uart1_SendStr("AT+CWSAP=\"TEST\",\"12345678\",1,3\r\n");
- delay_ms(500);
- strx = strstr((const char*)Usart1RecBuf,(const char*)"OK");
- }
-
- /*
- AT+CIPMUX=1
- OK
- */
- Clear_Buffer();
- Uart1_SendStr("AT+CIPMUX=1\r\n");
- strx = strstr((const char*)Usart1RecBuf,(const char*)"OK");
- while(strx == NULL)
- {
- Clear_Buffer();
- Uart1_SendStr("AT+CIPMUX=1\r\n");
- delay_ms(500);
- strx = strstr((const char*)Usart1RecBuf,(const char*)"OK");
- }

芯片解密