手机蓝牙配对错误 sd_ble_gap_data_length_update() (request) on connection 0x0 returned NRF_ERROR_RESOURCES的问题

kjyangRF/无线 2024-02-18 09:58:25 5577阅读 宁夏银川市 电信


NRF52840在用手机进行配对时,等待收入静态密钥时会不断交互空包,然后断开连接,通过RTT打印LOG,提示错误 sd_ble_gap_data_length_update() (request) on connection 0x0 returned NRF_ERROR_RESOURCES。请问如何解决?

报错日志如下所示:

00> <info> app: Connected
00> 
00> <info> app: Data len is set to 0x39(57)
00> 
00> <error> nrf_ble_gatt: sd_ble_gap_data_length_update() (request) on connection 0x0 returned NRF_ERROR_RESOURCES.
00> 
00> <error> nrf_ble_gatt: The requested TX/RX packet length is too long by 187/187 octets.
00> 
00> <info> app: 
00> 
00> <info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 1
00> 
00> <warning> peer_manager_handler: Disconnecting conn_handle 0.
00> 
00> <info> app: BLE_GAP_EVT_AUTH_STATUS: status=0x1 bond=0x0 lv4: 0 kdist_own:0x0 kdist_peer:0x0
00> 
00> <info> app: Disconnected
00> 

提示:如果此问题没有解决您的需求,您可以点击 “我也要问” 在线咨询。 我也要问

若此问题存在违规行为,您可以点击 “举报”

2条回答

  • lenjohn
    2024-02-18 10:04:18 已采纳


    在SDK_CONFIG.H文件中,减小的NRF_SDH_BLE_GAP_DATA_LENGTH值。这个值太大,在等待用户收入配对密码的过程中会不断空包握手,导致RESOURSE被消耗殆尽,减小这个值就可以避免这种情况。这里验证将数值改为60是可以的。


    // <i> Requested BLE GAP data length to be negotiated.
    
    #ifndef NRF_SDH_BLE_GAP_DATA_LENGTH
    #define NRF_SDH_BLE_GAP_DATA_LENGTH 251
    #endif
    5236 举报
  • 淡生烟
    2024-02-18 15:57:58
    NRF_SDH_BLE_GATT_MAX_MTU_SIZE的大小不能比NRF_SDH_BLE_GAP_DATA_LENGTH的值小。实测,将两个值改为一样,即使两个值都为100也行。
    346 举报
103电阻是多少
STM32 38460人阅读
Linux内核printfk打印信息怎么打开
Linux驱动 8483人阅读

快速提问,在线解答

1

描述需求

填写需求概要标题,补充详细需求

2

耐心等

等待网友或网站工作人员在线解答

3

巧咨询

还有疑问?及时追问回复

立即咨询