工具/软件:Code Composer Studio
您好!
我将基于 CC3220电源测量示例实施简单的固件。 我需要每1分钟在"收发器模式"下传输几个原始数据包。 我只是通过删除示例上的起始横幅选择并将用例强制为"收发器用例"来实现此任务。 当然、固件工作正常。
但是、如果我的器件在外部唤醒(即通过 GPIO)、我还需要以连接方式(例如间歇性连接)传输一些数据包。
因此、已实现的 GPIO 中断例程也可以正常工作、但在不同用例之间切换时遇到了问题。 特别是、间歇性连接模式的首次配置在收发器例程下/之后执行得不好。 实际上,在成功配置启动 wlanconnect()函数后,我遇到了与套接字 ID 相关的错误-2018。 以及其他一些误差。
那么、请说明我如何以正确的方式在两种不同的用例(收发器和间歇性连接、反之亦然)之间切换? 在两种工作模式之间切换时无错误的最佳做法是什么?
是否必须重新启动 MCU?
当 GPIO 中断发生时、这是我不确定的解决方案之一:
GPIO 中断
{
/*清除 SimpleLink 状态*/
PowerMeasure_CB.slStatus = 0;
ClockP_Params_init (&lpdsParams);
PowerMeasure_lpdsHandle = ClockP_create ((ClockP_Fxn)&powerMeasureDoNothing、0、&lpdsParams);
PowerMeasure_appData.useCase = UseCase_InterimentlyConnected; //forced use-case,而不是使用 setUseCase ()
/*将设备配置为所选用例*/
status = configSimplelinkToUseCase ();
// UART_PRINT ("设备已配置为所选电源管理用例。\n\n"); //R
//首次连接到 AP,仅连接用例*/
if (PowerMeasure_appData.useCase == UseCase_InterimentlyConnected)
{
状态= sl_Start (0、0、0);
status = wlanConnect();
/*如果用例始终处于连接状态,则保持连接*/
if (PowerMeasure_appData.useCase == UseCase_InterentlyConnected)
{
状态= sl_Stop (sl_stop_timeout);
}
}
// startMeasureBanner();
}
UART_PRINT ("间歇性连接...\n\n");
不稳定性 connected();
}
谢谢你。