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

CC2640R2 多块开发板同时工作,主机有时刚连接上就断开,并且原因返回pEvent->linkTerminate.reason == 0x3e

开发环境

操作流程:

一个主机,3个从机,主机选择从机1连接工作30秒然后断开,再连接从机2工作30秒断开,如此循环。开发板间的距离在30cm左右!

当某次连接从机的时候先进入:

case GAP_LINK_ESTABLISHED_EVENT:{Util_stopClock(&startLinkEstClock);if (pEvent->gap.hdr.status == SUCCESS){state = BLE_STATE_CONNECTED;connHandle = pEvent->linkCmpl.connectionHandle;procedureInProgress = TRUE;// If service discovery not performed initiate service discoveryif (charHdl == 0){Util_startClock(&startDiscClock);}

然后马上就进入terminate event:

case GAP_LINK_TERMINATED_EVENT:{state = BLE_STATE_IDLE;connHandle = GAP_CONNHANDLE_INIT;discState = BLE_DISC_STATE_IDLE;charHdl = 0;procedureInProgress = FALSE;keyPressConnOpt = DISCONNECT;scanIdx = -1;// Cancel RSSI readsSimpleCentral_CancelRssi(pEvent->linkTerminate.connectionHandle);zhu

主机这边的到的信息是pEvent->linkTerminate.reason = 0x3e ,并且一对一通讯,其它的从机断电不工作就不会出现以上情况。

Viki Shi:

CONNECTION FAILED TO BE ESTABLISHE ,怀疑链路质量不行,或者不要同时发信息

user6313700:

回复 Viki Shi:

不要同时发信息是什么意思?比如说广播的间隔每台从机设置成不同的?我一次只和一台从机进行通信,不存在同时发信息的情况。我是连接一台从机工作30秒断开,再去连接另一台再工作30秒!

Viki Shi:

回复 user6313700:

不要激动,MAX_NUM_BLE_CONNS 你定义的多少?

user6313700:

回复 Viki Shi:

我这边主机设置的 min 是8*1.25 , max 是10*1.25 ,从机使用主机的连接参数, 不跟新。

user6313700:

回复 Viki Shi:

sorry 看错了,,我这边主机是3,从机设置的是1

Viki Shi:

回复 user6313700:

你用multirole测过吗?

user6313700:

回复 Viki Shi:

没有测试过,我这边主机是central 工程,从机的话是peripheral。我们主机的应用开发就在central 上就进行的

Viki Shi:

回复 Viki Shi:

加大heap size试试,HEAPMGR_SIZE

user6313700:

回复 Viki Shi:

user6313700:

回复 Viki Shi:

#include <xdc/std.h>

#define HEAPMGR_CONFIG 0x80

#include <ti/sysbios/heaps/HeapCallback.h>extern const ti_sysbios_heaps_HeapCallback_Handle heap0;

#define HEAPMGR_SIZE 0x0

extern int xdc_runtime_Startup__EXECFXN__C;

extern int xdc_runtime_Startup__RESETFXN__C;

请问是修改这里吗?

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2 多块开发板同时工作,主机有时刚连接上就断开,并且原因返回pEvent->linkTerminate.reason == 0x3e
分享到: 更多 (0)