Quantcast
Channel: 蓝牙论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 7485

CC2541断开连接后再也连接不上了

$
0
0

各位大侠:

        请教一下

接收到一次数据就更改一下SNV,发现断开连接后再也连接不上了

代码如下:

#define DEFAULT_DESIRED_MIN_CONN_INTERVAL     8

#define DEFAULT_DESIRED_MAX_CONN_INTERVAL     8

uint8 TestData;

case SIMPLEPROFILE_CHAR6:

//获取连接句柄
//GAPRole_GetParameter(GAPROLE_CONNHANDLE, &nGUA_ConnHandle);
SimpleProfile_GetParameter( SIMPLEPROFILE_CHAR6, newChar6Value, &returnBytes );
if(returnBytes > 0)
{

if(TestData == 4)
TestData = 6;
else
TestData = 4;
osal_snv_write(0x93,1,&TestData);
SimpleProfile_SetParameter( SIMPLEPROFILE_CHAR6, returnBytes, newChar6Value );
}

break;

用安卓手机不断发送数据,然后再手机端断开蓝牙,出现的情况如下:

1、安卓7.0 + 协议栈 1.4.2.2  + TestData 是全局变量       :断开蓝牙后再也连接不上了

2、安卓7.0 + 协议栈 1.4.2.2  + TestData 是局部变量       :断开蓝牙后再连接,正常 

3、安卓5.1 + 协议栈 1.4.2.2 :断开蓝牙后再连接,正常 

4、协议栈 1.3.2    :断开蓝牙后再连接,正常 

就第一个情况断开蓝牙后,再也连接不上了,哪怕重启cc2541一样连接不上;必须重新烧一次程序也可以连接上

TestData 作为全局变量,我定义在simpleBLEPeripheral.c的最前面

TestData 作为局部变量,我定义在前面的大括号内。

各位大侠,请问知道是什么原因吗



谢谢!


Viewing all articles
Browse latest Browse all 7485

Trending Articles