529011577 晚点我试试

    Wireless-Tech 万波拉德,结果咋样呢,我的是SDK17.0不行...

      坛主试过了么?😂

        529011577 这几天比较忙,我有空会在这里回复你的。

           err_code = sd_ble_gatts_sys_attr_set(m_conn_handle,sys_attr_data,p_sys_attr_data_len,BLE_GATTS_SYS_ATTR_FLAG_USR_SRVCS);
           APP_ERROR_CHECK(err_code); 

          其中,上述的形参如下:

           static uint8_t sys_attr_data[8]={0x10,0x00,0x02,0x00,0x01,0x00,0xcd,0xca};
          static uint16_t p_sys_attr_data_len = 8;

          你可能会问上面的参数哪来的?

          先用手机将带有Notify的属性Enable了,然后断开连接,然后在断开连接事件中获取这些值,然后再原封不动的copy下来;之后就可以注释掉这个辅助代码了。

          经过,实测一连接上就自己使能enable.

          貌似还是不行。。。


          然后就报错了

            529011577

            我的数组是8个字节,你的可以不止。把数组的大小从8变到64再看看。

              数组大小256都试过了,还是报这个错。。。

                529011577
                你这个报错,很明显是你的buffer不够,你可以先从官方的ble_app_uart的示例工程新增这个代码。

                NRF_ERROR_DATA_SIZE The system attribute information did not fit into the provided buffer
                  3 个月后

                  Wireless-Tech 我看官方提供的sd_ble_gatts_sys_attr_get这个函数可以获取长度:p_sys_attr_data 指向缓冲区的指针,其中将填充有关系统属性的更新信息。数据的格式在系统属性的用户内存布局中进行了描述。可以提供 NULL 来获取数据的长度。但是我获取完长度,然后用这个长度调整的数组长度,依旧报错说长度不够是为什么

                    1105367465 可以先从我贴子上描述的例程上先试试吗?

                      撰写回复...