电路板:CC3235
SDK:SimpleLink CC32xx SDK- 3.40.0.05
Service Pack 文件名:sp_4.9.0.2_3.7.0.1_3.1.0.26.bin
当我们的板从 LPDS 模式唤醒时、我们使用任务 来选择 SOKCet FD、
我们可以成功唤醒、但 无法再选择。 我们的 sl_select 无法实现
返回。
1.为什么从 LPDS 唤醒时我们的 sl_select 无法返回?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
电路板:CC3235
SDK:SimpleLink CC32xx SDK- 3.40.0.05
Service Pack 文件名:sp_4.9.0.2_3.7.0.1_3.1.0.26.bin
当我们的板从 LPDS 模式唤醒时、我们使用任务 来选择 SOKCet FD、
我们可以成功唤醒、但 无法再选择。 我们的 sl_select 无法实现
返回。
1.为什么从 LPDS 唤醒时我们的 sl_select 无法返回?
您好、Yankai、
我在上一篇帖子中留下了最新的 SDK 版本。 您正在使用 最新 SDK ( 5.20.00.06)中的最新 Service Pack sp_4.11.0.0_3.7.0.1_3.1.0.26.bin sp_4.11.0.0_3.7.0.1_3.1.0.26.bin?
[引用 userid="484798" URL"~/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1031299/cc3235s-cc3235s/3813786 #3813786"]如果我们不运行 Power_enablePolicy ()和 Power_DisablePolicy () ,则不会发生这种情况我是否正确地理解,当您运行 Power_enablePolicy()和 Power_disablePolicy()时,您可以从 sl_Select 返回?
谢谢、
Jacob
尊敬的 Jacob:
我使用 sp_4.11.0.0_3.7.0.1_3.1.0.26.bin 和最后一个 SDK (5.20.00.06)。
但情况是一样的。
我是否正确地理解,当您运行 Power_enablePolicy() 和 Power_disablePolicy()时,您可以从 sl_Select 返回?
它只能返回一次、并且在 Web 发送唤醒命令后返回 Web SEND 命令。 选择 API 无法再次返回。
SL_SOCKET_FD_ZERO(&r_set);
SL_SOCKET_FD_SET(tcp_client_fd, &r_set);
SL_SOCKET_FD_SET(udp_fd[0], &r_set);
SL_SOCKET_FD_SET(udp_fd_audio[0], &r_set);
nfds = (udp_fd[0] > tcp_client_fd) ? udp_fd[0] : tcp_client_fd;
nfds = (udp_fd_audio[0] > nfds) ? udp_fd_audio[0] : nfds;
nfds = nfds + 1;
while (1) {
read_set = r_set;
ret = sl_Select(nfds, &read_set, NULL, NULL, &time_out);
if (ret < 0) {
bpi_error("sl_Select failed\n");
break;
} else if (ret == 0) {
//bpi_error("sl_Select return 0 which is unexpected\n");
//break;
continue;
} else {
if (SL_SOCKET_FD_ISSET(tcp_client_fd, &read_set)) {
ret = process_tcp_msg(tcp_client_fd);
if (ret <= 0) {
break;
}
}
if (SL_SOCKET_FD_ISSET(udp_fd[0], &read_set)) {
ret = process_udp_msg(udp_fd[0]);
if (ret >= 0) {
bpi_debug("Exit cmd received\n");
goto exit;
} else {
break;
}
}
#if 1
if (SL_SOCKET_FD_ISSET(udp_fd_audio[0], &read_set)) {
do {
ret = audio_data_pool_query_mem(&data_info);
if (!data_info.used) {
break;
} else {
if (ret != 0) {
bpi_info_time("Query audio data memory failed, try again\n");
}
}
} while (0);
if (!data_info.used /*&& data_info.data*/) {
if(ret = sl_RecvFrom(udp_fd_audio[0], data_info.data, size, 0, (SlSockAddr_t *)&Addr, (SlSocklen_t*)&AddrSize) < 0) {
bpi_error("get udp data failed\n");
break;
}
//bpi_info("audio - %x %x %x %x\n",data_info.data[0],data_info.data[1],data_info.data[2],data_info.data[3]);
//bpi_info("audio size - %d\n",size);
data_info.size = size;
audio_data_pool_query_mem_done(&data_info);
}
}
#endif
}
}