6621E在蓝牙初始化之后,会有设置蓝牙服务数据库所用buf大小的操作: ble_set_db_buffer(att_db_buffer, sizeof(att_db_buffer)); 那么这个buf到底可以开多大呢?我们可以通过函数 uint32_t db_buff_size = ble_get_db_buffer_free_size(); log_debug("db_size: %d\n", db_buff_size); 打印出来,一般情况下,打印出来的值,是att_db_buffer还剩余未用的空间,也就是说这个值越小越好,这样也就越节省ram的使用。 实测验证: 1、增大att_db_buffer的大小,uint32_t db_buff_size = ble_get_db_buffer_free_size();返回的可用空间也会跟着增大。 2、删减蓝牙服务,uint32_t db_buff_size = ble_get_db_buffer_free_size();返回的可用空间也会跟着增大。 通过以上验证可以有效说明uint32_t db_buff_size = ble_get_db_buffer_free_size();返回的是att_db_buffer未用的空间。 |