求助,CC2541主从机建立连接后自动断开?
时间:10-02
整理:3721RD
点击:
使用1.4.1协议栈,两个CC2541板子,分别做Center和Peripheral,使用串口透传数据。建立连接后,就开始发送数据。但是10多分钟后,就自动断开连接了,不知道什么原因?从哪开始分析比较好?
补充一下,Peripheral跟手机连接时,传输数据偶尔也会断开,但不频繁。不像Center和Peripheral这种,10多分钟肯定断开。
你好!
如果按情况描述,属于意外,无规律断开的情况,通常也只和两个方面有关,一个是MCU本身的程序出错了,二是协议栈运行中出现了未知的事件,没有做适当处理。
基本的检查方法也有两方面:
1,如果主机的因素大一些,在保证供电稳定,环境RF干扰不强的情况下,挂仿真器,看MCU 在出错的时候有哪些异常;
2,使用抓包软件,监视BLE通讯过程,在断开的情况发生的时候,看数据包断在什么地方。这样从断开的前后数据状况,推断协议栈的运行情况。
先用这两个常规方法检查一下。
感谢回复,问题已经解决了,是有个地方程序写的有问题,超出范围了。另外再问一下,关于GATT_WriteCharValue这个函数的使用,当我主设备向从设备发送数据时,第一次能发送成功,第二次返回的就是0x16了,我看程序里面写是在等待response,这个response是由主机返回的还是从机返回的?是自动返回还是需要手动返回?如果手动,如何返回?
RESPONSE是从机返回的,对主机发过来的数据帧的响应,表示收到了。
