529011577 晚点我试试
NRF52840的nus服务例程怎么才能默认打开通知呢
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.
Wireless-Tech 添加标签 已结案
貌似还是不行。。。
然后就报错了
我的数组是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 可以先从我贴子上描述的例程上先试试吗?