野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10899|回复: 5

STM32F407基于LWIP的数据包总是在程序结束后才发出

[复制链接]
发表于 2016-9-1 10:29:47 | 显示全部楼层 |阅读模式
本人在STM32F407的基于UCOS的LWIP例程上一直一个MQTT的协议栈。数据发送mqtt_connect底层调用的是LWIP socket.c中的lwip_write,通过wireshark抓包查看,断点打在if判断前,此时没有任何数据包发出;当return 1结束后,任务结束,wireshark上能抓到一系列的数据包,由于此时单片机上socket已关闭,不能顺利进行握手。
不知道有大神知道是什么问题吗?



ret = mqtt_connect(m, username, password); //连接服务器
        if (ret != MQTT_SUCCESS ) {
                printf("mqtt client connect fail\n");
                return 1;
        } else {
                printf("mqtt client connect\n");
        }


回复

使用道具 举报

发表于 2016-9-1 10:32:12 | 显示全部楼层
把整个工程发上来看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-1 10:38:16 | 显示全部楼层
公孙璇娟 发表于 2016-9-1 10:32
把整个工程发上来看看

好的,麻烦你给瞧瞧

以太网—基于uCOS-III的LwIP移植 - 副本.rar

2.25 MB, 下载次数: 53

回复 支持 反对

使用道具 举报

发表于 2016-9-1 10:41:47 | 显示全部楼层
先看看你的工程用普通的tcp ip协议能不能通讯
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-1 10:42:51 | 显示全部楼层
随风 发表于 2016-9-1 10:41
先看看你的工程用普通的tcp ip协议能不能通讯

在PC上ping板子是能ping的到的
回复 支持 反对

使用道具 举报

发表于 2018-5-7 17:08:51 | 显示全部楼层
你好,请问您的这个问题解决了吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 08:56 , Processed in 0.032661 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表