8266是C语言还是JAVA_stm32和esp8266wifi模块的代码分析和讲解

该代码段展示了如何使用C语言通过ESP8266 WiFi模块进行STA模式TCP客户端配置,包括连接WiFi、建立TCP连接以及收发数据的处理过程。
摘要由CSDN通过智能技术生成

/*

* 函数名:ESP8266_STA_TCP_Client

* 描述  :WF-ESP8266模块进行STA TCP Clien测试

* 输入  :无

* 返回  : 无

* 调用  :被外部调用

*/

void ESP8266_STA_TCP_Client ( void )

{

char cStrInput [100] = { 0 }, * pStrDelimiter [2], * pBuf, * pStr;

u8 uc = 0;

u32 ul = 0;

ESP8266_Choose ( ENABLE );

// PC_Usart ( "-1-----------------------------sss");

ESP8266_AT_Test ();

ESP8266_Net_Mode_Choose ( STA );

ESP8266_Cmd ( "AT+CWLAP", "OK", 0, 5000 );

///   处  理  登陆密码的操作

PC_Usart ( "------------------------------sss");

ESP8266_password_join();

/* do

{

PC_Usart ( "\r\n请输入要连接的WiFi名称和密钥,输入格式为:名称字符+英文逗号+密钥字符+空格,点击发送\r\n" );

scanf ( "%s", cStrInput );

PC_Usart ( "\r\n稍等片刻 ……\r\n" );

pBuf = cStrInput;

uc = 0;

while ( ( pStr = strtok ( pBuf, "," ) ) != NULL )

{

pStrDelimiter [ uc ++ ] = pStr;

pBuf = NULL;

}

} while ( ! ESP8266_JoinAP ( pStrDelimiter [0], pStrDelimiter [1] ) ); */

///

ESP8266_Enable_MultipleId ( ENABLE );

///处理  tcp 服务连接的函数

ESP8266_linkTCP_join();

/*

选择tcp/udp连接代码,以上修改为固定,在函数ESP8266_linkTCP_join()内。

do

{

g       PC_Usart ( "\r\n请在电脑上将网络调试助手以TCP Server连接网络,并输入电脑的IP和端口号,输入格式为:电脑IP+英文逗号+端口号+空格,点击发送\r\n" );

scanf ( "%s", cStrInput );

PC_Usart ( "\r\n稍等片刻 ……\r\n" );

pBuf = cStrInput;

uc = 0;

while ( ( pStr = strtok ( pBuf, "," ) ) != NULL )

{

pStrDelimiter [ uc ++ ] = pStr;

pBuf = NULL;

}

} while ( ! (  ESP8266_Link_Server ( enumTCP, pStrDelimiter [0], pStrDelimiter [1], Multiple_ID_0 )  ) );

//   && ESP8266_Link_Server ( enumTCP, pStrDelimiter [0], pStrDelimiter [1], Multiple_ID_1 ) &&

//  ESP8266_Link_Server ( enumTCP, pStrDelimiter [0], pStrDelimiter [1], Multiple_ID_2 ) &&

//   ESP8266_Link_Server ( enumTCP, pStrDelimiter [0], pStrDelimiter [1], Multiple_ID_3 ) &&

//   ESP8266_Link_Server ( enumTCP, pStrDelimiter [0], pStrDelimiter [1], Multiple_ID_4 )

*/

GPIO_ResetBits(GPIOC, GPIO_Pin_3);

Delay_ms(1000);

linktcp_LED_tell();linktcp_LED_tell();linktcp_LED_tell();

//LED_all_hei();

//  GPIO_ResetBits(GPIOC, GPIO_Pin_3);

/*

if(usart1_rx_value==1){

PC_Usart ( "\r\n请输入端口ID%d要发送的字符串,输入格式为:字符串(不含空格)+空格,点击发送\r\n", uc );

scanf ( "%s", cStrInput );

ul = strlen ( cStrInput );

ESP8266_SendString ( DISABLE, cStrInput, ul, ( ENUM_ID_NO_TypeDef ) uc );

ESP8266_SendString ( DISABLE, cStrInput, ul, ( ENUM_ID_NO_TypeDef ) uc );

}                    */

//

for ( uc = 0; uc < 2; uc ++ )

{

PC_Usart ( "\r\n请输入端口ID%d要发送的字符串,输入格式为:字符串(不含空格)+空格,点击发送\r\n", uc );

scanf ( "%s", cStrInput );

ul = strlen ( cStrInput );

//  ESP8266_SendString ( DISABLE, cStrInput, ul, ( ENUM_ID_NO_TypeDef ) uc );

ESP8266_SendString ( DISABLE, cStrInput, ul, ( ENUM_ID_NO_TypeDef ) 0 );

PC_Usart ( "%s", strEsp8266_Fram_Record .Data_RX_BUF );

}

PC_Usart ( "\r\n请在网络调试助手发送字符串\r\n" );

while (1)

{

//

//接收电脑端的数据

pStr = ESP8266_ReceiveString ( DISABLE );

PC_Usart ( "%s", pStr );

///

//发送电脑端的数据

//  scanf ( "%s", cStrInput );

//

//      ul = strlen ( str1_1esp8266.Data_RX_BUF );

//

//      ESP8266_SendString ( DISABLE, str1_1esp8266.Data_RX_BUF, ul, ( ENUM_ID_NO_TypeDef ) 0 );

//

//      PC_Usart ( "%s", str1_1esp8266 .Data_RX_BUF );

PC_Usart ( "\r\n输入格式为:字符串(不含空格)+空格,点击发送\r\n", uc );

//

scanf ( "%s", cStrInput );

ul = strlen ( cStrInput );

ESP8266_SendString ( DISABLE, cStrInput, ul, ( ENUM_ID_NO_TypeDef ) 0 );

PC_Usart ( "%s", strEsp8266_Fram_Record .Data_RX_BUF );

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值