器件型号:CC3220
您好!
我在"mqTT client"项目中尝试了 MQTT 客户端订阅和发布、但它的工作正常。
我正在 尝试在 SDK 的"开箱即用"项目中集成相同的 MQTT。
因此、器件启动正常后、我将在"link_local_task.c"的 getDeviceType ()中打印"[Provisioning task] detected device is CC3220SF"
在此步骤旁边、我调用了"mqTT_client_app.c"的以下任务
//在此处启动 MQTT //
UART_PRINT ("MQTT 任务开始\n");
pthread_t MQTTThreads =(pthread_t)空;
int32_t RetVal;
pthread_attr_t pAttrs;
struct sched_param primParam;
pthread_attr_init (&pAttrs);
priParam.sched_priority = 1;
RetVal = pthread_attr_setschedparam (&pAttrs、&priParam);
RetVal |= pthread_attr_setstacksize (&pAttrs、4096);
if (重定位)
{
/*句柄错误*/
UART_PRINT ("无法配置线程参数\n");
while (1)
{
;
}
}
RetVal = pthread_create (&MQTTThreads、&pAttrs、MQTTThread、NULL);
if (重定位)
{
/*句柄错误*/
UART_PRINT ("无法创建线程\n");
while (1)
{
;
}
}
从 MQTT 客户端项目导入并编辑的文件是
e2e.ti.com/.../5826.mqtt_5F00_client_5F00_app.c
e2e.ti.com/.../2376.mqtt_5F00_client_5F00_app.h
e2e.ti.com/.../5241.client_5F00_cbs.c
e2e.ti.com/.../1220.client_5F00_cbs.h
e2e.ti.com/.../1803.network_5F00_if.c
e2e.ti.com/.../3022.network_5F00_if.h
请查找附件以查看代码更改。
原因1:如果使用 CCS Uniflash 刷写、我将无法获取打印"MQTT 任务启动"、我将按如下方式进行打印
交换机(deviceType)
{
case DEV_TYPE_CC3220R:// 3220R
UART_PRINT ("[配置任务]检测到的器件为 CC3220R\n");
中断;
case DEV_TYPE_CC3220RS:// 3220RS
UART_PRINT ("[配置任务]检测到的器件为 CC3220RS\n\n");
中断;
case DEV_TYPE_CC3220FS:// 3220FS
{
UART_PRINT ("[Provisioning task]检测到的器件为 CC3220SF\n\n");
//在此处启动 MQTT //
UART_PRINT ("MQTT 任务开始\n");
pthread_t MQTTThreads =(pthread_t)空;
int32_t RetVal;
pthread_attr_t pAttrs;
struct sched_param primParam;
pthread_attr_init (&pAttrs);
priParam.sched_priority = 1;
RetVal = pthread_attr_setschedparam (&pAttrs、&priParam);
RetVal |= pthread_attr_setstacksize (&pAttrs、4096);
if (重定位)
{
/*句柄错误*/
UART_PRINT ("无法配置线程参数\n");
while (1)
{
;
}
}
RetVal = pthread_create (&MQTTThreads、&pAttrs、MQTTThread、NULL);
if (重定位)
{
/*句柄错误*/
UART_PRINT ("无法创建线程\n");
while (1)
{
;
}
}
中断;
默认值:
中断;
原因2:如果我进行了 JTAG 调试,则大部分时间设备通过打印“
[配置任务]提交新下载失败、通过重新发送器件恢复到以前的副本"以及其他一些时间。
极少时间"连接到代理失败、错误代码:-1 "
请告诉我这方面的解决方案、
谢谢你