微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > cc3200 osi_TaskDelete函数调试经常出问题?

cc3200 osi_TaskDelete函数调试经常出问题?

时间:10-02 整理:3721RD 点击:
cc3200 SDK 使用的rtos中, osi_TaskDelete函数是不是有bug?写了一个任务,发现调试经常有问题。
void communication_task( void *pvParameters )
{
int iNewSockID = (int)pvParameters;
int lLoopCount = 0;
int iStatus = 0;
int iTestBufLen = 128;
char g_cBsdBuf[128];
Report("sock id -- %d\r\n", iNewSockID);
while(1) {
osi_Sleep(100); //100ms
iStatus = sprintf(g_cBsdBuf, "x-%d, y-%d, z-%d\r\n", pcAccX, pcAccY, pcAccZ);
iStatus = sl_Send(iNewSockID, g_cBsdBuf, iStatus, 0 );
if( iStatus <= 0 ) {
// error
//ASSERT_ON_ERROR(TCP_SERVER_FAILED);
ERR_PRINT(TCP_SERVER_FAILED);
break;
}
}
// close the connected socket after receiving from connected TCP client
sl_Close(iNewSockID);
osi_TaskDelete(NULL);
}
函数最后调用osi_TaskDelete函数后,经常会出现进入
void
vAssertCalled( const char *pcFile, unsigned long ulLine )
{
//Handle Assert here
while(1)
{
}
}
函数的情况。
有时则是会进入 xTaskWaitingTermination函数, 然后系统就挂起在这里了。

osi_TaskDelete(NULL); 有问题吧,osi_TaskDelete(&handle); handle为Task的句柄

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top