新手上路 
 
	- 积分
 - 45
 
        - 金钱
 - 45 
 
       - 注册时间
 - 2019-3-11
 
      - 在线时间
 - 16 小时
 
 
 
 | 
 
1金钱 
串口中断函数 
void DEBUG_USART_IRQHandler(void) 
{ 
        if(USART_GetITStatus(DEBUG_USARTx,USART_IT_RXNE)!=RESET) 
        {                 
                 
                ucTemp = USART_ReceiveData(DEBUG_USARTx); 
 
  //  USART_SendData(DEBUG_USARTx,ucTemp);   //串口监视作用 
                 
                cStr[item]=ucTemp; 
                item++; 
                 
        }          
} 
 
 
 
 
 
 
void ESP8266_StaTcpClient_UnvarnishTest ( void ) 
{ 
        uint8_t ucStatus; 
         
         
                 
  printf ( "\r\正在配置ESP8266 ......\r\n" ); 
 
        macESP8266_CH_ENABLE(); 
         
        ESP8266_AT_Test (); 
         
        ESP8266_Net_Mode_Choose ( STA ); 
 
  while ( ! ESP8266_JoinAP ( macUser_ESP8266_ApSsid, macUser_ESP8266_ApPwd ) );         
         
        ESP8266_Enable_MultipleId ( DISABLE ); 
         
        while ( !        ESP8266_Link_Server ( enumTCP, macUser_ESP8266_TcpServer_IP, macUser_ESP8266_TcpServer_Port, Single_ID_0 ) ); 
         
        while ( ! ESP8266_UnvarnishSend () ); 
         
        printf ( "\r\n配置 ESP8266 完毕 \r\n" ); 
         
 
 
 
 
//                def = ESP8266_ReceiveString ( ENABLE );                                                                                           //receive data 
//while (*def!='\0') 
 
//                do{ 
//                USART_SendData(DEBUG_USARTx , *def ); 
//                def++; 
//                } 
//                while(*def!='\0'); 
 
//                         
                         
                         
                         
                         
                         
        while ( 1 ) 
        {                 
 
                ESP8266_SendString ( ENABLE,cStr, 0, Single_ID_0 );               //发送数据 
                 
                item=0; 
                 
                Delay_ms ( 100 ); 
//                 
//         
                if ( ucTcpClosedFlag )                                             //检测是否失去连接 
                { 
                        ESP8266_ExitUnvarnishSend ();                                    //退出透传模式 
                         
                        do ucStatus = ESP8266_Get_LinkStatus ();                         //获取连接状态 
                        while ( ! ucStatus ); 
                         
                        if ( ucStatus == 4 )                                             //确认失去连接后重连 
                        { 
                                printf ( "\r\n正在重新连接热点 ......\r\n" ); 
                                 
                                while ( ! ESP8266_JoinAP ( macUser_ESP8266_ApSsid, macUser_ESP8266_ApPwd ) ); 
                                 
                                while ( !        ESP8266_Link_Server ( enumTCP, macUser_ESP8266_TcpServer_IP, macUser_ESP8266_TcpServer_Port, Single_ID_0 ) ); 
                                 
                                printf ( "\r\n连接热点成功\r\n" ); 
 
                        } 
                         
                        while ( ! ESP8266_UnvarnishSend () );                 
                         
                } 
                 
 
        } 
         
} 
 
 
 
 
 
 
 
 
 
 
 
想把receive data 和 send data 结合在一起,大神说要写个线程;或者用一个互斥标志,但是还是不知道怎么弄,求大佬帮忙解决!谢谢,解决了50R红包! |   
 
 
 
 
 
 |