器件型号: CC2745R10-Q1
您好的团队、
如标题所述,如果我不交换 MTU,在调用 GATTServo App_Process CharCfg() 后,设备将进入 hardfault。
SDK:simplelink_lowpower_f3_SDK_9_20_01_21
请将 simple_gatt_profile.c 复制 到 Basic BLE 项目中。 该问题将重新印发。
谢谢。
此致、
Connor。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
器件型号: CC2745R10-Q1
您好的团队、
如标题所述,如果我不交换 MTU,在调用 GATTServo App_Process CharCfg() 后,设备将进入 hardfault。
SDK:simplelink_lowpower_f3_SDK_9_20_01_21
请将 simple_gatt_profile.c 复制 到 Basic BLE 项目中。 该问题将重新印发。
谢谢。
此致、
Connor。
尊敬的 Connor:
在当前的 BLE 栈实现中、它必须在发送 大于 (ATT_MTU - 3) 字节的数据之前交换 MTU 大小。
当调用 GATTServo App_Process、CharCfg () 时、BLE 栈将分配一个 (ATT_MTU - 3) 字节缓冲区。
当您发送超过 (ATT_MTU - 3) 个字节时、由于 ATT_MTU 大小不匹配、将不会发送数据。
但它仍然 从堆中分配 (ATT_MTU - 3) 个字节、然后从 SimpleGattProfile_readAttrCB 释放长度。 它导致内存损坏。
此致、
Kevin