Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
MQTT
使用Ryanmqtt软件包,连接EMQX服务器后,mqttThread线程硬故障,大佬们这是为什么?哪里的问题?如何解决?
发布于 2023-06-15 16:10:59 浏览:419
订阅该版
使用RyanW5500和Ryanmqtt软件包,当连接mqtt服务器大概1分钟后,控制台提示mqttThread线程硬故障 连接成功后,如果立马发布或者订阅主题,直接提示线程硬故障,如果连接成功后什么都不做,等一分钟才提示线程硬故障 这是Ryanmqtt部分代码: ```c #define RyanMqttHostName ("192.168.1.80") // 填写你的mqtt服务器ip #define RyanMqttPort ("1883") // mqtt服务器端口 #define RyanMqttUserName ("STM32") // 为空时填写"" #define RyanMqttPassword ("STM32") // 为空时填写"" int mqttConnectFun() { RyanMqttError_e result = RyanMqttSuccessError; RyanMqttClientConfig_t mqttConfig = { .clientId = "RyanMqttTessdfwrt", .userName = RyanMqttUserName, .password = RyanMqttPassword, .host = RyanMqttHostName, .port = RyanMqttPort, .taskName = "mqttThread", .taskPrio = 16, .taskStack = 10240, .recvBufferSize = sizeof(mqttRecvBuffer), .sendBufferSize = sizeof(mqttSendBuffer), .recvBuffer = mqttRecvBuffer, .sendBuffer = mqttSendBuffer, .recvBufferStaticFlag = RyanTrue, .sendBufferStaticFlag = RyanTrue, .mqttVersion = 3, .ackHandlerRepeatCountWarning = 6, .ackHandlerCountWarning = 20, .autoReconnectFlag = RyanTrue, .cleanSessionFlag = 0, .reconnectTimeout = 3000, .recvTimeout = 11000, .sendTimeout = 2000, .ackTimeout = 10000, .keepaliveTimeoutS = 60, .mqttEventHandle = mqttEventHandle, .userData = NULL}; // 初始化mqtt客户端 result = RyanMqttInit(&client); RyanMqttCheck(RyanMqttSuccessError == result, result, ulog_d); // 注册需要的事件回调 result = RyanMqttRegisterEventId(client, RyanMqttEventAnyId); RyanMqttCheck(RyanMqttSuccessError == result, result, ulog_d); // 设置mqtt客户端config result = RyanMqttSetConfig(client, &mqttConfig); RyanMqttCheck(RyanMqttSuccessError == result, result, ulog_d); // 设置遗嘱消息 result = RyanMqttSetLwt(client, "pub/test", "this is will", strlen("this is will"), QOS0, 0); RyanMqttCheck(RyanMqttSuccessError == result, result, ulog_d); // 启动mqtt客户端线程 result = RyanMqttStart(client); RyanMqttCheck(RyanMqttSuccessError == result, result, ulog_d); return 0; } ``` 这是控制台刚连上时 ```c \ | / - RT - Thread Operating System / | \ 4.1.1 build Jun 15 2023 15:57:37 2006 - 2022 Copyright by RT-Thread team [1] I/sal.skt: Socket Abstraction Layer initialize success. msh />[1014] I/RyanW5500Test: w5500 启动成功 [3016] I/RyanW5500Test: w5500 nedev state: 6 [4015] W/TAG: ../packages/RyanW5500-latest/W5500Client/RyanW5500Socket.c:1187 开始获取dns ifconfig network interface device: RyanW5500 (Default) MTU: 1460 MAC: 00 08 dc 2f 0c 37 FLAGS: UP LINK_UP INTERNET_DOWN DHCP_DISABLE ip address: 192.168.1.10 gw address: 192.168.1.1 net mask : 255.255.255.0 dns server #0: 0.0.0.0 dns server #1: 0.0.0.0 msh />ping 192.168.1.80 32 bytes from 192.168.1.80 icmp_seq=0 time=3 ms 32 bytes from 192.168.1.80 icmp_seq=1 time=3 ms 32 bytes from 192.168.1.80 icmp_seq=2 time=3 ms 32 bytes from 192.168.1.80 icmp_seq=3 time=3 ms msh />mqtt connect msh />[44301] I/RyanMqtt: result: 1, packetLen: 71, packetType: 2 connackRc: 0 [44310] I/mqttTest: mqtt连接成功回调 ``` 这是等了一分钟后,控制台提示线程硬故障 ```c \ | / - RT - Thread Operating System / | \ 4.1.1 build Jun 15 2023 15:57:37 2006 - 2022 Copyright by RT-Thread team [1] I/sal.skt: Socket Abstraction Layer initialize success. msh />[1014] I/RyanW5500Test: w5500 启动成功 [3016] I/RyanW5500Test: w5500 nedev state: 6 [4015] W/TAG: ../packages/RyanW5500-latest/W5500Client/RyanW5500Socket.c:1187 开始获取dns ifconfig network interface device: RyanW5500 (Default) MTU: 1460 MAC: 00 08 dc 2f 0c 37 FLAGS: UP LINK_UP INTERNET_DOWN DHCP_DISABLE ip address: 192.168.1.10 gw address: 192.168.1.1 net mask : 255.255.255.0 dns server #0: 0.0.0.0 dns server #1: 0.0.0.0 msh />ping 192.168.1.80 32 bytes from 192.168.1.80 icmp_seq=0 time=3 ms 32 bytes from 192.168.1.80 icmp_seq=1 time=3 ms 32 bytes from 192.168.1.80 icmp_seq=2 time=3 ms 32 bytes from 192.168.1.80 icmp_seq=3 time=3 ms msh />mqtt connect msh />[44301] I/RyanMqtt: result: 1, packetLen: 71, packetType: 2 connackRc: 0 [44310] I/mqttTest: mqtt连接成功回调 psr: 0x61000000 r00: 0x00000000 r01: 0x00000000 r02: 0x0000000d r03: 0x00000000 r04: 0xdeadbeef r05: 0xdeadbeef r06: 0xdeadbeef r07: 0x20006ee0 r08: 0xdeadbeef r09: 0xdeadbeef r10: 0xdeadbeef r11: 0xdeadbeef r12: 0x01010101 lr: 0x0801f8e5 pc: 0x0801f9ee hard fault on thread: mqttThread thread pri status sp stack size max used left tick error ---------------------------- --- ------- ---------- ---------- ------ ---------- --- mqttThread 16 running 0x0000021c 0x00001000 24% 0x00000008 OK RyanW5500 8 suspend 0x000000cc 0x00000400 53% 0x00000002 OK tshell 20 suspend 0x000000cc 0x00001000 25% 0x00000009 OK sys workq 23 suspend 0x00000080 0x00000800 63% 0x00000008 OK tidle0 31 ready 0x00000074 0x00000100 54% 0x00000012 OK timer 4 suspend 0x00000078 0x00000200 31% 0x00000009 OK main 10 suspend 0x000000b0 0x00000800 21% 0x00000007 OK bus fault: SCB_CFSR_BFSR:0x04 IMPRECISERR ```
查看更多
1
个回答
默认排序
按发布时间排序
Ryan_CW
2023-06-16
这家伙很懒,什么也没写!
![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230616/6dc464818aaac496d2e00ca59bb82b7a.png.webp) 将这个tag调整为可以打印debug信息的等级,把RyanDebugEnable也取消注释。 应该所有的错误都有判断的,没遇到这种情况,看起debug看看是啥原因
撰写答案
登录
注册新账号
关注者
0
被浏览
419
关于作者
Lrain
这家伙很懒,什么也没写!
提问
13
回答
22
被采纳
0
关注TA
发私信
相关问题
1
umqtt 软件包使用后,连接上emqx服务器,过一会儿就掉线了
2
使用正点原子的 潘多拉 开发板 的例程19_iot_mqtt
3
mqtt软件包,不支持直接关闭?
4
kawaii_mqtt 申请内存崩溃
5
_signal_entry() 函数中dbg_enter在哪里定义呢?
6
start to connect mqtt server 失败
7
MQTT 在“ read 0:1, break “后断开重连
8
paho_mqtt线程相关疑问
9
RT thread studio kawaii mqtt 无法连接EMQ
10
调试bc26 ,断言错误failed at rt_thread_timeout
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【RT-Thread】记录一次对主仓的bsp进行修复并提交pr的总结
2
【请投票】嵌入式大赛Top10排名等你来选!
3
【24嵌入式设计大赛】HPM5300-EVK 网络测速仪
4
RT-Thread Nano 上线ST CubeMX
5
Nordic移植笔记: RT_Thread v5.1.0(基于Nordic nRF52840的ble_app_hids_mouse工程)
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
flash
packages_软件包
cubemx
PWM
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
socket
flashDB
中断
Debug
GD32
编译报错
msh
keil_MDK
C++_cpp
rt_mq_消息队列_msg_queue
ulog
at_device
SFUD
本月问答贡献
出出啊
1515
个答案
342
次被采纳
小小李sunny
1438
个答案
289
次被采纳
张世争
785
个答案
168
次被采纳
crystal266
546
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
6
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部