微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > CC3200 在TIRTOS下进行LPDS模式待机,PRCM_LPDS_HOST_IRQ唤醒异常以及TIRTOS安装包自带待机接口使用问题

CC3200 在TIRTOS下进行LPDS模式待机,PRCM_LPDS_HOST_IRQ唤醒异常以及TIRTOS安装包自带待机接口使用问题

时间:10-02 整理:3721RD 点击:

Hi TI工程师,

参考idle_profile中的待机流程,发现待机后,多次发送UDP包,但只有一次产生PRCM_LPDS_HOST_IRQ中断,但recv OK没有打出来。另外按键唤醒正常。请问可能是什么原因?另外TIRTOS安装包下,有tirtos_cc32xx_2_16_01_14\products\tidrivers_cc32xx_2_16_01_13\packages\ti\drivers\power相关待机操作,请问应用要怎么配置才能使用?

void UDPServerTask(void *pvParameters)

{
unsigned char ucSyncMsg;
unsigned char ucQueueMsg = 3;
int iSockDesc = 0;
int iRetVal = 0;
sockaddr_in sLocalAddr;
sockaddr_in sClientAddr;
unsigned int iAddrSize = 0;

//
// waiting for the other task to start simplelink and connection to the AP
//
osi_MsgQRead(&g_tConnectionFlag, &ucSyncMsg, OSI_WAIT_FOREVER);
osi_MsgQDelete(&g_tConnectionFlag);

//
// configure the Server
//
sLocalAddr.sin_family = SL_AF_INET;
sLocalAddr.sin_port = sl_Htons((unsigned short)APP_UDP_PORT);
sLocalAddr.sin_addr.s_addr = 0;

iAddrSize = sizeof(sockaddr_in);

//
// creating a UDP socket
//
iSockDesc = sl_Socket(SL_AF_INET,SL_SOCK_DGRAM, 0);

if(iSockDesc < 0)
{
UART_PRINT("sock error\n\r");
LOOP_FOREVER();
}

//
// binding the socket
//
iRetVal = sl_Bind(iSockDesc, (SlSockAddr_t *)&sLocalAddr, iAddrSize);
if(iRetVal < 0)
{
UART_PRINT("bind error\n\r");
LOOP_FOREVER();
}

while(FOREVER)
{
//
// waiting on a UDP packet
//
iRetVal = sl_RecvFrom(iSockDesc, g_cBuffer, BUFF_SIZE, 0,
( SlSockAddr_t *)&sClientAddr,
(SlSocklen_t*)&iAddrSize );
if(iRetVal > 0)
{
//
// signal the other task about receiving the UDP packet
//

UART_PRINT("recv OK\n\r");
osi_MsgQWrite(&g_tWkupSignalQueue, &ucQueueMsg, OSI_WAIT_FOREVER);
}
else
{
UART_PRINT("recv error\n\r");
LOOP_FOREVER();
}
}
}

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

网站地图

Top