TI中文支持网
TI专业的中文技术问题搜集分享网站

2530终端接收串口数据后发给协调器死机

请教个问题(基于3.0.2)
2530终端每10S会收到传感器的串口数据,收到后发给协调器
有两种方法:
1.串口收到后立即发给协调器
大致代码如下
case CMD_SERIAL_MSG:
SampleApp_SerialCMD((mtOSALSerialData_t *)MSGpkt);
break;
//收到后发给协调器
static void SampleApp_SerialCMD(mtOSALSerialData_t *cmdMsg) 

zcl_SendReportCmd;//用该函数发给协调器
osal_mem_free( pReportData ); //释放空间
}
2.类似1,把收到的数据缓存到一个数组,然后在定时器里面调用zcl_SendReportCmd发给协调器

方式1有没有什么问题?我之前测了方式了发了几个小时就不再发了,必须重启才行,

空间我也释放了,不知什么原因会死机

Alvin Chen:

debug一下是整体都不工作了,还是单纯的不不发送了。 如果是整体不都不工作了,加上看门狗。

user5367314:

回复 Alvin Chen:

只是发送不工作了,因为终端收到串口数据时,LED会闪烁一下,
LED是正常闪烁的,但是协调器收不到了,必须终端重启才行,
我把发送给协调器的代码放在SampleApp_SerialCMD函数里是否有问题?
case CMD_SERIAL_MSG:
SampleApp_SerialCMD((mtOSALSerialData_t *)MSGpkt);
break;
//收到后发给协调器
static void SampleApp_SerialCMD(mtOSALSerialData_t *cmdMsg)
{
zcl_SendReportCmd;//用该函数发给协调器
osal_mem_free( pReportData ); //释放空间
}

Alvin Chen:

回复 user5367314:

你去debug一下,以及抓包看一下。zcl_SendReportCmd是否报错。

Alvin Chen:

回复 user5367314:

你去debug一下,以及抓包看一下。zcl_SendReportCmd是否报错。

赞(0)
未经允许不得转载:TI中文支持网 » 2530终端接收串口数据后发给协调器死机
分享到: 更多 (0)