用料
示例
简介
本示例将 BW21-CBV-Kit 配置为蓝牙中心设备,使用扫描功能扫描其他蓝牙设备,并将结果打印到串口监视器上。
步骤
- 打开示例,依次选择 “文件” -> “示例” -> “AmebaBLE” -> “BLEScan”
- 上传代码并在上传完成后按下 BW21-CBV-Kit 的重置按钮。
- 打开 Arduino 串口监视器,你应该可以看到附近蓝牙设备的扫描结果,已格式化并打印出来。
如果你安装了蓝牙应用 nRF Connect,也可以用它发送蓝牙广告,让 BW21-CBV-Kit 接收。
代码参考
setScanMode(GAP_SCAN_MODE_ACTIVE) 用于设置扫描模式。主动扫描会在找到设备时请求额外的扫描响应数据包,而被动扫描只会查看广告数据,而不请求额外数据。
setScanInterval() 和 setScanWindow() 用于设置扫描的频率和持续时间(以毫秒为单位)。扫描将在每个间隔时间启动,每次扫描持续扫描窗口时间。扫描窗口持续时间应该小于或等于扫描间隔。设置较短的间隔时间可以快速发现设备,设置较长的间隔时间可以节省电池电量。
setScanCallback(scanFunction) 用于注册一个函数,当接收到扫描结果时调用。可以用来设置用户自定义函数处理扫描数据,例如查找特定设备。如果没有注册函数,扫描结果将默认格式化并打印到串口监视器。
beginCentral(0) 用于启动蓝牙堆栈并进入中心模式。参数 0 用于指示没有客户端在中心模式下运行。
startScan(5000) 用于启动扫描过程,扫描时间为 5000 毫秒。扫描将根据设置的扫描间隔和扫描窗口值重复进行。5000 毫秒后,扫描过程将停止,准备重新启动。
|