我在使用CC3220SF blink homekit示例下使用tcp socket编程并debug过程中,发现使用sl_connect()函数进行与tcp server的连接的过程中有高几率发生系统跑飞,程序暂停时会发现程序停留在下方的函数中,而且在代码不进行任何改动的情况下重新进行debu时sl_connect()函数有时却能正常连接tcp server,但是在使用sl_send()函数发送5次消息后再次系统跑飞,程序再次停留在下方函数中。请问我该怎么解决。
/*
* ======== Hwi_excHandler ========
*/
Void Hwi_excHandler(UInt *excStack, UInt lr)
{
Hwi_module->excActive[0] = TRUE;
/* spin here if no exception handler is plugged */
while (Hwi_excHandlerFunc == NULL) {
;
}
Hwi_excHandlerFunc(excStack, lr);
}
/****我的socket初始化****/
void net_init()
{
SockID = sl_Socket(SL_AF_INET,SL_SOCK_STREAM, SL_IPPROTO_TCP);
if(SockID<0)printf("socket failed\n");
else printf("socket success\n");
SlSockAddrIn_t Addr;
_i16 AddrSize = sizeof(SlSockAddrIn_t);
memset(&Addr, 0, sizeof(Addr)); //先清除变量值
Addr.sin_family = SL_AF_INET;
Addr.sin_port = sl_Htons((unsigned short)60000);
Addr.sin_addr.s_addr = sl_Htonl(SL_IPV4_VAL(192,168,2,215));//ip addr
_i16 Status=0;
Status = sl_Connect(SockID, (SlSockAddr_t *)&Addr, AddrSize);
if(Status<0)printf("connect failed\n");
else printf("connect success\n");
GPIO_toggle(Board_LED0);
}
/***我发送消息使用的函数部分***/
char buf[]="someonemoved";
sl_Send(SockID,buf,sizeof(buf),SL_MSG_DONTWAIT);
Yonghua Pan:
关于homekit的需求请不要在论坛里面post, 请联系相应的技术支持人员。