multi_role例程里面,把原来的610字节的堆栈改大之后,定时器会挂掉。具体表现是蓝牙广播正常,但是灯不闪了。指示灯是在定时器里面驱动的。请问是什么原因啊
Viki Shi:
为什么要改大堆栈?连接更多设备?每个例程都配置了相应的内存来匹配相应的功能
user4944744:
回复 Viki Shi:
在原有的线程里面添加了一些应用的代码,担心堆栈不够,所以改大了
Viki Shi:
回复 user4944744:
先不改堆栈,你试试看加了代码后能否成功运行
user4944744:
回复 Viki Shi:
好的。好像还有一种情况会导致定时器死掉,就是模块一直处于扫描广播的时候
Viki Shi:
回复 user4944744:
一直扫描有可能引起heap overflow,看下手册的Profiling the ICall Heap Manager (heapmgr.h)一节: file:///C:/ti/simplelink_cc2640r2_sdk_1_35_00_33/docs/blestack/ble_sw_dev_guide/html/debugging/ble-debugging.html#profiling-the-icall-heap-manager-heapmgr-h
user4944744:
回复 Viki Shi:
那要如何解决这个问题,我现在用的是HEAPMGR_SIZE=0,根据资料说的会把剩下未使用的RAM都用作heap,没法再加大了吧