各位大侠:
请教一下
接收到一次数据就更改一下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 作为局部变量,我定义在前面的大括号内。
各位大侠,请问知道是什么原因吗
谢谢!