完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
硬件平台: STM32F407+LAN8740A
软件平台:4.0.3+pahomqtt1.1.0 复现方法:断开路由器外网网线 问题现象:mqtt线程卡死,导致publish消息无反应,ping百度正常,说明外网通信正常 调试发现publish线程卡死,mqtt0线程也卡死,不确定好卡在哪里 publish代码如下: while(1){ Retry = 10; rt_memset(msg_ptr,0,sizeof(PubData_t)); if (rt_mq_recv(&MQTTPubMQ, msg_ptr, sizeof(PubData_t),RT_WAItiNG_FOREVER) == RT_EOK){ while(Retry--){ easyblink(LED_Communication, 1, LED_SHORTDUTY>>1, LED_SHORTCYCLE>>1); msg_ptr->timestamp+=28800; LOG_D("%.*s", 25, ctime(&msg_ptr->timestamp)); list_mem(); itoa(msg_ptr->timestamp,Filename,10); rt_memcpy(Filename+strlen(Filename),".jsonx00",6); if(!MqttClient.isonline){ LOG_E("Wait MQTT Connect"); } while(!MqttClient.isonline ){ rt_thread_delay(1000); } while(Socket_Busy== RT_TRUE){ rt_thread_delay(1000); } Socket_Busy = RT_TRUE ; if(paho_mqtt_publish(&MqttClient, msg_ptr->PUB_QOS, msg_ptr->Topic, msg_ptr->PayLoad)){ LOG_E("PUB %s Fail",msg_ptr->Topic,msg_ptr->PayLoad); } else{ LOG_I("PUB %s %s Success",msg_ptr->Topic,msg_ptr->PayLoad); break; } } } } } |
|
相关推荐
1个回答
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 应用层更改引脚复用的方法
2747 浏览 0 评论
1321 浏览 0 评论
【英飞凌PSoC 6 RTT开发板试用】串口测试标准输入输出重定向
1109 浏览 0 评论
4552 浏览 0 评论
1806 浏览 0 评论
55083 浏览 21 评论
【参与有奖】激扬代码,千元现金!RT-Thread主题征文大赛
56945 浏览 88 评论
276901 浏览 75 评论
50536 浏览 31 评论
15949 浏览 53 评论
野火 ISO STM32资料合集(程序、原理图、项目初高级篇)
18063 浏览 46 评论
13221 浏览 50 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-25 14:03 , Processed in 0.537615 second(s), Total 35, Slave 29 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号