nrf52 SDK15.2 主从一体+一对多 + nus_c透传

1、选择工程\examples\ble_central_and_peripheral\experimental\ble_app_hrs_rscs_relay\pca10040\s132\arm5_no_packs,其本身就是主从一体的一个工程,然后实现一对多的功能,本工程默认可以一对二,即同时连接两个从机。现在我想让它连4台从机,要怎么做呢?更改以下几个宏呗

// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. 
#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT
#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1
#endif

// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. 
#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT
#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 2
#endif

// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. 
// Maximum number of total concurrent connections using the default configuration.

#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT
#define NRF_SDH_BLE_TOTAL_LINK_COUNT 3

将NRF_SDH_BLE_CENTRAL_LINK_COUNT 改成4,NRF_SDH_BLE_TOTAL_LINK_COUNT改成5;然后编译,没问题,但是一运行

啊噢!出错了!!

DEBUG提示NRF_ERROR_NO_MEM错误,RAM空间不够,如是修改IRAM1,将其从0x20002D58,改成0x200036F8,再编译通过,运行,测试,可以一对四连接了。

2、在此工程添加ble_nus_c服务,将其它hrs,rscs服务都 删除了,0x200038F8

对照工程nRF5_SDK_15.2.0_9412b96\examples\ble_central\ble_app_uart_c\pca10040\s132\arm5_no_packs来添加此服务

添加完成,编译没错误,运行,DEBUG提示Fatal erro了,自动复位了。莫子鬼......又蛋疼了......,不知道哪里出了问题

最后找到是这个宏NRF_SDH_BLE_VS_UUID_COUNT 0的问题,将其改为2或其它,就可以了,于是再编译运行

DEBUG提示又NRF_ERROR_NO_MEM错误了,RAM空间不够,如是再修改IRAM1,将其从0x200036F8,改成0x20003718,再编译通过,运行,测试,耶!OK了,呵呵!建议这个值再改大点,免得再DEBUG报错。

于是到这里,功能添加就完成了!这过程真是一件无语的事.......

继续添加BLE_NUS功能.......

 

 

你可能感兴趣的:(Bluetooth)