This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2541:CC2541和1.5.2.0 SDK 的多角色应用

Guru**** 1831610 points
Other Parts Discussed in Thread: CC2541
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1411442/cc2541-multi-role-application-with-cc2541-and-1-5-2-0-sdk

器件型号:CC2541

工具与软件:

使用 CC2541和 SDK 1.5.2.0:

应用程序基于 TimeApp 示例、这是一种临时(通过中央设备进行广播和连接)。  

是否可以在广播 和连接时进行扫描?

该项目有三个器件

基于运行临时应用程序(如 TimeApp 示例)的 CC2541的器件 A (与手机类似)扫描并连接到临时器件 B。

器件 B 有两种状态:

1.正在广播,等待设备 A 或连接

2.连接到设备 A

设备 B 应该侦听(扫描)设备 C、该设备只是一个广播设备、不应该被连接、并且应该在短时间(几秒钟)间隔内定期处于活动状态。

器件 C 和器件 A 之间应该没有交互

到目前为止、我有两种设置可以正常工作:

1.设备 A 和设备 B 正在工作和通信

2.器件 C (广播设备)可与观测器件(我们将其称为器件 D、也称为 CC2541器件)配合使用、并可检测器件 C 中的广播。  

我需要的是将观测器扫描功能(器件 D) 与器件 B 相结合(器件 B 只需要检测器件 C、广播无需连接)

我可以看到器件 B 调用  

GAP_DeviceInit (Role_Task、
           gapRole_profileRole、0、
           gapRole_irk、gapRole_SRK、
           &gapRole_signCounter );

在 periferary.c 中

和观测器(器件 D)调用:

GAP_DeviceInit (gapObserverRoleTaskId、
          GAP_PROFILE_Observer、
          gapObserverRoleMaxScanRes、
          null、
          null、
          null);

观察员 c  

我可能需要将这两个表单合并、还需要添加   GAP_DEVICE_INFO_EVENT 和   GAP_DEVICE_DISCOVERY_EVENT 事件  

某种回调/事件处理程序

您是否有此类设置的示例  ?或者您能否向我提供 SoM 指令以便器件 B 也用作器件 D?

谢谢