工程编号和芯片对应关系
- pca10040 – nRF52832
- pca10040e – nRF52810
- pca10056 – nRF52840
- pca10056e – nRF52811
- pca10100 – nRF52833
- pca10100e – nRF52820
1.设置串口映射引脚
在使用NRF52832的模组测试官方给的串口例程的时候,发现当改了串口的引脚号之后,就不会出现广播。
解决方法: nrfx_uarte.c文件中,修改函数
nrf_gpio_cfg_input(p_config->pselcts, NRF_GPIO_PIN_PULLUP);引脚状态为上拉,因为模块的引脚当串口使用的时候是悬空的,所以必须要有上拉才能有稳定的信号。
2.广播设置
路径nRF5_SDK_13.0.0_04a0bfd\examples\ble_peripheral\ble_app_uart
通过修改广播的发现模式设置nrf52832一直广播
BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE:有限可发现模式,不支持BR/EDR。
BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE:一般可发现模式,不支持BR/EDR。
有限可发现模式和一般可发现模式的主要区别是:
有限可发现模式有时间的限制,一般维持的时间是30秒,而一般可发现模式没有时间的限制。
有限可发现模式广播的间隔比一般可发现模式小。 从时间的限制上,我们可以看出有限可发现模式对连接的迫切性和目的性比一般可发现模式高,一个处于有限可发现模式的设备正在广播,那么他一定是刚被用户操作过并且极希望被连接。 一般情况下,设备首次开机、按下连接按钮,设备进入有限可发现模式比较合适。如果在有限可发现模式时间内没有被连接,可以转入一般可发现模式。 如果我们希望设备在没有被连接时一直保持广播,那么应该使用一般可发现模式,因为一般可发现模式是没有时间限制的。
在advertising_init()函数中修改,
将 advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE
修改为 advdata.flags= BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE
然后修改广播超时时间为0
#define APP_ADV_TIMEOUT_