这是为什么呢?
时间:10-02
整理:3721RD
点击:
在程序中如果加入HalLedSet(HAL_LED_2, HAL_LED_MODE_TOGGLE); 接收判断就能通过,可以执行GenericApp_SendTheMessage(); 否则就不行, 不该呀!
void GenericApp_MessageMSGCB(afIncomingMSGPacket_t *pckt)
{
char *receBuf;
switch( pckt->clusterId)
{
case GENERICAPP_CLUSTERID:
HalLedSet(HAL_LED_2, HAL_LED_MODE_TOGGLE);
osal_memcpy(receBuf, pckt->cmd.Data, osal_strlen("123456") +1);
if( osal_memcmp(receBuf, "123456",osal_strlen("123456") +1))
{
GenericApp_SendTheMessage();
}
else
{
}
break;
}
}
这是为什么呀?
void GenericApp_MessageMSGCB(afIncomingMSGPacket_t *pckt)
{
char *receBuf;
switch( pckt->clusterId)
{
case GENERICAPP_CLUSTERID:
HalLedSet(HAL_LED_2, HAL_LED_MODE_TOGGLE);
osal_memcpy(receBuf, pckt->cmd.Data, osal_strlen("123456") +1);
if( osal_memcmp(receBuf, "123456",osal_strlen("123456") +1))
{
GenericApp_SendTheMessage();
}
else
{
}
break;
}
}
这是为什么呀?
找到 示例程序的 源码对比, 才发现 char *receBuf; 是不行的. 应该是
char *receBuf = NULL;
问题找到了.