/* 无限循环 */
85. while (1)
86. {
87. /*调用AM2302_Read_TempAndHumidity读取温湿度,若成功则输出该信息*/
88. if(AM2302_Read_TempAndHumidity(&AM2302_Data)==SUCCESS)
89. {
90. sprintf(str,"读取AM2302成功!-->湿度为%.1f %RH ,温度为 %.1f℃ \n",AM2302_Data.humidity,AM2302_Data.temperature);
91. }
92. else
93. {
94. sprintf(str,"读取AM2302信息失败\n");
95. }
96. ESP8266_SendString(ENABLE,str,0,Single_ID_0); //发送数据
97. printf("%s",str);
98.
99. HAL_Delay(1000);
100.
101. if(ucTcpClosedFlag) //检测是否失去连接
102. {
103. ESP8266_ExitUnvarnishSend(); //退出透传模式
104. do ucStatus = ESP8266_Get_LinkStatus(); //获取连接状态
105. while(!ucStatus);
106. if(ucStatus==4) //确认失去连接后重连
107. {
108. printf("正在重连热点和服务器 ......\n");
109. while(!ESP8266_JoinAP(User_ESP8266_ApSsid,User_ESP8266_ApPwd));
110. while(!ESP8266_Link_Server(enumTCP,User_ESP8266_TcpServer_IP,User_ESP8266_TcpServer_Port,Single_ID_0));
111. printf("重连热点和服务器成功!!!\n");
112. }
113. while(!ESP8266_UnvarnishSend());
114. }
115. }
116.}
117.
118./**
119. * 函数功能: 串口接收完成回调函数
120. * 输入参数: 无
121. * 返 回 值: 无
122. * 说 明:无
123. */
124.void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle)
125.{
126. if(strEsp8266_Fram_Record.InfBit.FramLength<(RX_BUF_MAX_LEN-1)) //预留1个字节写结束符
127. strEsp8266_Fram_Record.Data_RX_BUF[strEsp8266_Fram_Record.InfBit.FramLength++]=esp8266_rxdata;
128. HAL_UART_Receive_IT(&husartx_esp8266,&esp8266_rxdata,1);
129.}
130.
131./******************* (C) COPYRIGHT 2015-2020 硬石嵌入式开发团队 *****END OF FILE****/
|