TI中文支持网
TI专业的中文技术问题搜集分享网站

CC3200 出现SimpleLinkGeneralEventHandler [GENERAL EVENT] – ID=[3] Sender=[0]

Hi ALL,

现象描述:

我在使用3200创建 TCP Client socket链路时(模块作为Station,已正常连接了路由器),如果没有连接服务器,就等待5秒执行重连,在执行重连6~8后,SimpleLinkGeneralEventHandler函数开始报错: [GENERAL EVENT] – ID=[3] Sender=[0];

此时,调用simplelink的相关API,调用sl_WlanProfileGet  获取路由器的 RSSID,加密类型等信息返回-100,调用sl_NetCfgGet 获取连接IP DNS等信息,也是返回-100,感觉整个simplelink框架下的东西即NWP已经卡死了一样

上面的出现的现象是因为我使用了2个线程,一个线程在跑TCP,另一个线程在跑udp,当我将UDP的线程禁用了之后,这个问题即:TCP Client 在执行重连,无论执行多少次,SimpleLinkGeneralEventHandler未报错,调用simplelink相关API,能够正常获取NWP的相关参数;

我的问题:

1. SimpleLinkGeneralEventHandler函数报错: [GENERAL EVENT] – ID=[3] Sender=[0];

触发这个函数的原因是哪种或者有哪些可能呢?(我看过同类型的帖子,只是解答了报错的类型,希望工程师们给出一个比较详细的报错原因);

2. 单独一个线程跑,就可以避免此现象,存不存在线程之间在访问simplelink API时,需要注意互斥的一些原因呢?

3.我如果想使用多个Socket 同时工作,为避免此问题,该注意哪些东西的,希望工程师们给出一个比较合理的建议。

期待回复,感谢~

Viki Shi:

1、具体的报错原因可能要通过NWP log才能判断,根据描述,怀疑是内存分配问题
2、照理说UDP TCP是可以一起使用的,根据手册,最大支持 8 个socket同时工作 。请确保:
监听的端口有效
使用最新的SDK且版本与及service pack互相匹配

赞(0)
未经允许不得转载:TI中文支持网 » CC3200 出现SimpleLinkGeneralEventHandler [GENERAL EVENT] – ID=[3] Sender=[0]
分享到: 更多 (0)