发新帖我要提问
12
返回列表
打印
[应用相关]

stm32 WiFi建立tcp连接

[复制链接]
楼主: dingbo95
手机看帖
扫描二维码
随时随地手机跟帖
21
dingbo95|  楼主 | 2018-9-26 21:24 | 只看该作者 回帖奖励 |倒序浏览
/*
* 函数名:USART2_printf
* 描述  :格式化输出,类似于C库中的printf,但这里没有用到C库
* 输入  :-USARTx 串口通道,这里只用到了串口2,即USART2
*                     -Data   要发送到串口的内容的指针
*                           -...    其他参数
* 输出  :无
* 返回  :无
* 调用  :外部调用
*         典型应用USART2_printf( USART2, "\r\n this is a demo \r\n" );
*                             USART2_printf( USART2, "\r\n %d \r\n", i );
*                             USART2_printf( USART2, "\r\n %s \r\n", j );
*/
void USART2_printf( USART_TypeDef* USARTx, char *Data, ... )
{
        const char *s;
  int d;   
  char buf[16];

  va_list ap;
  va_start(ap, Data);

        while ( *Data != 0)     // 判断是否到达字符串结束符
        {                                                          
                if ( *Data == 0x5c )  //'\'
                {                                                                          
                        switch ( *++Data )
                        {
                                case 'r':                                                                  //回车符
                                        USART_SendData(USARTx, 0x0d);
                                        Data ++;
                                        break;

                                case 'n':                                                                  //换行符
                                        USART_SendData(USARTx, 0x0a);       
                                        Data ++;
                                        break;
                               
                                default:
                                        Data ++;
                                    break;
                        }                         
                }
                else if ( *Data == '%')
                {                                                                          //
                        switch ( *++Data )
                        {                               
                                case 's':                                                                                  //字符串
                                        s = va_arg(ap, const char *);
          for ( ; *s; s++)
                                        {
                                                USART_SendData(USARTx,*s);
                                                while( USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET );
          }
                                        Data++;
          break;

        case 'd':                                                                                //十进制
          d = va_arg(ap, int);
          itoa(d, buf, 10);
          for (s = buf; *s; s++)
                                        {
                                                USART_SendData(USARTx,*s);
                                                while( USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET );
          }
                                        Data++;
          break;
                                 default:
                                                Data++;
                                    break;
                        }                 
                } /* end of else if */
                else USART_SendData(USARTx, *Data++);
                while( USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET );
        }
}

使用特权

评论回复
22
dingbo95|  楼主 | 2018-9-26 21:25 | 只看该作者
AT   测试 AT 启动

使用特权

评论回复
23
dingbo95|  楼主 | 2018-9-26 21:26 | 只看该作者
AT+RST  重启模块
AT+GMR  查看版本信息

使用特权

评论回复
24
dingbo95|  楼主 | 2018-9-26 21:26 | 只看该作者
AT+CWMODE   选择 WIFI 应用模式

使用特权

评论回复
25
dingbo95|  楼主 | 2018-9-26 21:26 | 只看该作者
AT+CWJAP  加入 AP

使用特权

评论回复
26
dingbo95|  楼主 | 2018-9-26 21:27 | 只看该作者
AT+CWLAP 列出当前可用 AP
AT+CWQAP 退出与 AP 的连接
AT+ CWSAP 设置 AP 模式下的参数
AT+ CWLIF 查看已接入设备的 IP

使用特权

评论回复
27
dingbo95|  楼主 | 2018-9-26 21:27 | 只看该作者
AT+ CIPSTATUS 获得连接状态
AT+CIPSTART 建立 TCP 连接或注册 UDP 端口号
AT+CIPSEND 发送数据
AT+CIPCLOSE 关闭 TCP 或 UDP
AT+CIFSR 获取本地 IP 地址
AT+CIPMUX 启动多连接
AT+CIPSERVER 配置为服务器
AT+CIPMODE 设置模块传输模式
AT+CIPSTO 设置服务器超时时间

使用特权

评论回复
28
八层楼| | 2018-10-12 12:04 | 只看该作者
外接的什么模块啊

使用特权

评论回复
29
我看| | 2018-10-20 20:12 | 只看该作者
请问有ESP8266的库吗?方便给我一份吗?谢谢

使用特权

评论回复
30
磨砂| | 2018-10-22 11:01 | 只看该作者
外围芯片用的什么呀

使用特权

评论回复
31
晓伍| | 2018-10-22 11:14 | 只看该作者
只是对arm的操作不涉及外围硬件吧?

使用特权

评论回复
32
观海| | 2018-10-22 12:11 | 只看该作者
好料  感谢楼主分享

使用特权

评论回复
33
guanjiaer| | 2018-10-22 12:44 | 只看该作者
代码很详细 感谢

使用特权

评论回复
34
heimaojingzhang| | 2018-10-22 12:50 | 只看该作者
需要设置重发机制吗

使用特权

评论回复
35
paotangsan| | 2018-10-22 14:54 | 只看该作者
哇卡卡卡 有udp的例程么 谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则