52832添加服务

sdk:15.2

https://www.cnblogs.com/iini/p/9332463.html

https://www.cnblogs.com/iini/p/9095622.html

如上原厂大佬博客所言,softdevice的flash code段是确定的,而其ram是不确定的,直接和服务的多少以及

宏:

NRF_SDH_BLE_TOTAL_LINK_COUNT  //一共同时可以支持多少个连接

NRF_SDH_BLE_PERIPHERAL_LINK_COUNT  //作为从模式的连接同时能有几个

NRF_SDH_BLE_CENTRAL_LINK_COUNT  //作为主模式的连接同时能有几个

NRF_SDH_BLE_GATT_MAX_MTU_SIZE //MTU size为多大

NRF_SDH_BLE_VS_UUID_COUNT  //用户自定义的base UUID有几个

NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE  //Attribute table总共占多少协议栈RAM空间

NRF_SDH_BLE_SERVICE_CHANGED  //要不要包含service change characteristic

的设定有关;

在添加服务后,

1.首先需要确定的是NRF_SDH_BLE_GATT_MAX_MTU_SIZE的大小,根据需求确定是否使用23字节mtu,或者自定义的大数据传输,确定之后烧录添加服务后的程序。完成烧录之后查看程序是否能够跑的通;

2.根据你自己的服务个数调整NRF_SDH_BLE_VS_UUID_COUNT的值;

3.调整NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE的值以及keil面板中ram的起始地址以及size:

NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE建议以 +256*n 为单位递增,NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE增加了多少则ram1的star一样增加多少,size则对应减少多少;直到修改到烧录进去你能够跑通,蓝牙连接后能按预想进行数据通信;然后可以进行小修在原来基础加256/2,256/4这样精确下去,前提是这个值是4的倍数;找到最合适的值;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值