距离超出死机

最近发现蓝牙距离超出时发现有的设备会死机,不知道哪里的问题,是不是什么栈的设置太小影响的?

跑飞或者死机的表现是什么?调整堆栈 大小后有没有改善,或者说之前对代码改动是是不是有些地方内存没有回收。

FireBLE_blue 发表于 2015-5-25 14:36
跑飞或者死机的表现是什么?调整堆栈 大小后有没有改善,或者说之前对代码改动是是不是有些地方内存没有回 …

在哪里调整,我没试过?

FireBLE_blue 发表于 2015-5-25 14:36
跑飞或者死机的表现是什么?调整堆栈 大小后有没有改善,或者说之前对代码改动是是不是有些地方内存没有回 …

在哪里调整,我没试过?

调整栈的大小在startup.s 下

Stack_Size      EQU     0x00000250

FireBLE_blue 发表于 2015-5-25 14:51
调整栈的大小在startup.s 下

这个地方最大可以调到多少?

如果没有递归函数,一般都是够用的。
理论上你设多大都行,只要链接能通过都可以。
但,默认0x200,如果你觉得有问题可以加到到一倍,0x400

FireBLE_blue 发表于 2015-5-25 17:49
如果没有递归函数,一般都是够用的。
理论上你设多大都行,只要链接能通过都可以。
但,默认0x200,如果 …

这个超出距离会死机跟这个堆栈的大小有关系吗?

:stuck_out_tongue_winking_eye: 我也觉得关系不大,跟栈应该关系不大,要死早死了,堆就难说了,具体不知道他代码都干了些啥,哈哈

FireBLE_blue 发表于 2015-5-26 09:58
我也觉得关系不大,跟栈应该关系不大,要死早死了,堆就难说了,具体不知道他代码都干了些啥,哈哈

我改成了0x400,效果会好狠多,但别的手机连接多个时还是会有个别死机的情况,还与什么地方有关呢?

thong 发表于 2015-5-26 10:31
我改成了0x400,效果会好狠多,但别的手机连接多个时还是会有个别死机的情况,还与什么地方有关呢?

描述一下死机的情况?有什么表现不?我目前为止还未遇到死机的,你程序有很大的局部变量不?比如一个很大的数组之类的,一般而言,栈溢出比较少见。

FireBLE_blue 发表于 2015-5-26 10:35
描述一下死机的情况?有什么表现不?我目前为止还未遇到死机的,你程序有很大的局部变量不?比如一个很大 …

其实也不是死机,当超出距离后连接自动断开并不广播

:sleepy: 那应该和堆栈关系不大。。。

thong 发表于 2015-5-26 11:03
其实也不是死机,当超出距离后连接自动断开并不广播

应该不会的啊,QPPS中你断开之后,还是会再次发起广播的啊:)

xiaolong_ba 发表于 2015-5-26 17:13
应该不会的啊,QPPS中你断开之后,还是会再次发起广播的啊

是的,但要保证断开之后,再次发起广播的函数得到调用,像他说的,有时不能再起发起广播,就得详细的总体查查了,光说没用,还得对着代码分析为什么不能。

ios 1.3.6改进了没这问题了

sirbai 发表于 2015-7-20 17:13
ios 1.3.6改进了没这问题了

麻烦问下 这个问题是怎么解决的 是IOS手机端做的修改么?

下位机固件更新就行了