- /* 无限循环 */
- 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****/
|