主题中讨论的其他器件:LAUNCHXL-CC26X2R1、 CC1352R、 CC1352P、 CC2652RB、 SysConfig、 CC2640R2F
硬件
此示例已在 LAUNCHXL-CC26X2R1上编写并测试。 它可轻松移植到 CC2652RB、CC1352R、CC1352P 器件。
软件
此示例是针对 SDK 4.40编写的。 它应轻松移植到其他 SDK 版本。 有关其他信息、请参阅 SDK 的移植指南/迁移指南。
外设
- 打开 CCS
- 导入 simple_peripheral 示例
- 使用 SysConfig 打开 simple_peripheral.syscfg。 然后在 RF 堆栈> BLE 中启用"L2CAP 面向连接的通道"。 保存并关闭文件。
- 将 simple_peripheral.c 文件的整个内容替换为该文件的内容: e2e.ti.com/.../SDK_5F00_4_5F00_40_5F00_simple_5F00_peripheral_5F00_l2cap.c。 为了帮助理解、下面是一个 diff 文件(与开箱即用的 simple_peripheral.c 文件相比): e2e.ti.com/.../simple_5F00_peripheral_5F00_diff_5F00_file.diff
- 构建示例并在器件上进行闪存。
位于中心地带
- (如果尚未完成)打开 CCS
- 导入 simple_central 示例
- 使用 SysConfig 打开 simple_peripheral.syscfg。 然后在 RF 堆栈> BLE 中启用"L2CAP 面向连接的通道"。 保存并关闭文件。
- 将 simple_central 文件的整个内容替换为该文件的内容: e2e.ti.com/.../SDK_5F00_4_5F00_40_5F00_simple_5F00_central_5F00_l2cap.c。 为了帮助理解、下面是一个 diff 文件(与开箱即用的 simple_central .c 文件相比): e2e.ti.com/.../simple_5F00_central_5F00_diff_5F00_file.diff
- 在 simple_central 菜单.c 文件中、替换该行
menu_item_action (scMenuPerConn、0、"GATT Read"、 SimpleCentral_doGattRead)
作者:
menu_item_action (scMenuPerConn、0、"从 GATT 读取 L2CAP PSM"、 SimpleCentral_doGattRead)
这是因为我们要将常规 GATT 读取命令重新用于 L2CAP COC 设置。
重新编译工程并将其刷写到器件上。
使用示例
刷写这两个示例后、我建议打开两个串行终端以显示两者的日志(UART 设置与开箱即用示例相同)。
对于这些示例、您只需使用中央器件的双按钮菜单(即 launchpad 的两个按钮)。
- 单击"查找设备"。
- 单击"连接到"
- 选择正确的器件地址(使用外设器件的日志来查找其地址)
- 单击"使用"
- 选择合适的器件
- 等待加密完成、GATT 发现完成
- 然后将出现"Read L2CAP PSM from GATT"菜单
- 单击"Read L2CAP PSM from GATT"(从 GATT 读取 L2CAP PSM)(如果尚未修改 simple_central 菜单.c 文件、则可能会将"GATT Read"称为"GATT Read")
这将打开 L2CAP-COC。 然后、设备将使用它来相互发送消息。 (注意:我们使用开箱即用示例中已定义的时钟来触发消息发送-如果需要、这可以不同的方式完成)。
目前仅支持一个连接、PSM 为硬编码。
其他资源
用户指南 可能是最有价值的资源。
此外、示例 project_zero、simple_peripheral_oad_offchip 和 simple_peripheral_oad_onchip 实现了 L2CAP COC 连接的示例。
对于 CC2640R2F 器件、 此主题 提供了示例。
