微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2640进行大数据量读写时容易挂掉

CC2640进行大数据量读写时容易挂掉

时间:10-02 整理:3721RD 点击:

使用cc2640r2_sdk_1_35_00_33开发,作为peripheral连接ios9。

在CC2640进行大数据量读写时非常容易挂掉。挂掉后只能手动复位。

比如:GATT_Notification()进行快速连续发送时,会在此函数处卡死。没有返回值。

观察堆栈也未溢出、也没有缓存不足的的提示。

请教该如何调试、排除此类卡死的问题呢?谢谢!

GATT_Notification()进行快速连续是怎么样快速呢?

建议用cc2640r2_sdk_1_40_xx 最新的SDK试一下,该版本更加完善

每200ms发送一次,每次发送150x4个字节。

有时是一开始OK,跑个几分钟就挂掉,需手工复位。

会是协议栈的问题吗?还是我使用的环境的问题?

不知道怎么调试,能给个思路方向吗?谢谢!

连接间隔改大一点试试看

间隔改大是可以解决问题,但是速率低了就满足不了要求了。

有没有相关的函数,在要挂掉前给出指示,以降低发送速率?

* @return @ref SUCCESS : Notification was queued successfully.
* @return @ref INVALIDPARAMETER
* @return @ref MSG_BUFFER_NOT_AVAIL
* @return @ref bleNotConnected
* @return @ref bleMemAllocError
* @return @ref bleInvalidMtuSize : Packet length is larger than connection's MTU size.
* @return @ref bleTimeout : Previous transaction timed out.
*/
extern bStatus_t GATT_Notification( uint16 connHandle, attHandleValueNoti_t *pNoti,
uint8 authenticated );

根据返回值来判别

GATT_Notification一直返回SUCCESS ,然后突然挂掉

调试跟踪到执行GATT_Notification函数时失去响应,该如何处理呢?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top