SDK 版本:7_10_00_35
CCS 版本:12.2.0.00009
(1)如何让 CC2340过滤扫描器件的 MAC 地址? 例如、我希望仅保留从0xB0开始的器件
这是我当前的示例代码:


(2)当我要将 CC2340置于中央模式时、如何连接到在线扫描的器件? 是否有可以应用的示例或某些函数? 例如、app_connection.c 或 app_central.c 的哪个部分
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.
SDK 版本:7_10_00_35
CCS 版本:12.2.0.00009
(1)如何让 CC2340过滤扫描器件的 MAC 地址? 例如、我希望仅保留从0xB0开始的器件
这是我当前的示例代码:


(2)当我要将 CC2340置于中央模式时、如何连接到在线扫描的器件? 是否有可以应用的示例或某些函数? 例如、app_connection.c 或 app_central.c 的哪个部分
您好、Ryan、
感谢您获得支持。
只将器件从0xB0开始的最简单方法是手动将其从广播报告中滤除、您可以考虑使用下面的一个片段。
请注意、我尚未对代码进行全面测试。
// Go over the advertise reports that was saved in the host level and save it
for (i = 0; i < scanMsg->pBuf->pScanDis.numReport; i++)
{
GapScan_Evt_AdvRpt_t advReport;
// Get the address from the report
GapScan_getAdvReport(i, &advReport);
if (advReport.addr[0] == 0xB0)
{
// Add the report to the scan list
Observer_addScanRes(&advReport);
}
}
您可以在 basic_ble 中找到示例、请查看 app_menu.c 中的 Menu_connectToDeviceCB
我希望这对您有所帮助。
丹桂语
您好、 Tanguy:
(1)我查看 app_menu.c 中的 Menu_connectToDeviceCB,并参考本文 CC2340R5:中央到外设自动连接-蓝牙论坛- Bluetooth︎- TI E2E 支持论坛
我尝试连接,但不成功,如下面所示,它返回状态== 0x15 ,然后我检查0x15表示"没有可用的资源" 


(2) CC2340能否扫描器件名称? 我检查了 Stk_Gap 的结构"11G_EVT_ADVR.pt_t" 、没有用于存储设备名称的参数。
您好、Ryan、
我想您会遇到0x15错误、因为 BLEAppUtil_connect 被多次调用、是否可以确保只调用一次该函数?
pData 缓冲区中应存在器件名称、请查看此 e2e 来解析广播数据。
(+) CC2340R5:广播 pData 解析扫描结果-蓝牙论坛- Bluetooth︎ ñ ol - TI E2E 支持论坛
希望这对您有所帮助、
丹桂语
您好、Ryan、
BLEAppUtil_connect 并不意味着连接成功、而是意味着器件已成功进入启动器状态。 用户指南包含有关不同 GAP 状态的更多详细信息: 通用访问配置文件(GAP)—SimpleLink CC23xx SDK BLE5-Stack 用户指南3.02.01.00文档
请查看基本的 GATT 客户端示例: simplelink_low_power_f3_SDK-7.20 TexasInstruments/ble_examples GitHub 上的 BLE_examples/rtos/LP_EM_CC2340R5/ble5stack/basic_ble_GATT_CLIENT: ··
当收到 BLEAPPUTIL_LINK_SEATED_EVENT 事件时、便会建立连接。 请查看 app_connection.c 中的 Connection_Conn Handler.
另请查看 APP_MENU 文件中的 Menu_doGattWriteCB。
此致
丹桂语
(1) CC2340在调用 BLEAppUtil_CONNECT()后进入 Connection_Conn 4552 Handler()的 BLEAPPUTIL_LINK_SEATED_EVENT 事件,但 CC2340很快将进入 BLEAPPUTIL_LINK_ENTERMIND_EVENT。 我如何确保它可以继续连接并且不会自动断开连接? 或需要 CC2340断开时。 连接状态已断开
(2)我没有在 APP_MENU 文件中找到任何关于 Menu_doGattWriteCB 的信息。
您好、Ryan、
建立链路后、会保留该链路、直到出现断开命令或错过多个连接事件为止。 有关连接的更多信息、请参阅此 SLA 具有 basic_ble 示例的低功耗蓝牙连接
此外请记住、使用断点可能会干扰连接、请参阅调试指南(调试—SimpleLink CC23xx SDK BLE5-Stack 用户指南3.02.04.00文档)中的"断点和计时"部分
很抱歉第2点存在误解、Basic_ble_GATT_CLIENT 中存在 Menu_doGattWriteCB、请在此处找到它: BLE_examples/rtos/LP_EM_CC2340R5/ble5stack/basic_ble_GATT_client/app_menu.c、位于 simplelink_low_power_asf3_SDK-7.20_Texble Hub/Examples ··
希望这对您有所帮助、
丹桂语
您好、Ryan、
您能否为第1点创建一个新的 E2E 主题、那么跟踪这个问题将会更容易。
对于第2点、请在此处找到指向 basic_ble_GATT_CLIENT 的链接:
BLE_examples/examples/rtos/LP_EM_CC2340R5/ble5stack/basic_ble_GATT_client/app_menu.c、位于 simplelink_low_power_f3_SDK-7.20·TexasInstruments/ble_examples GitHub ·
此致、
丹桂语
您好!
对于第2点,请在此处找到指向 basic_ble_GATT_CLIENT 的链接:
BLE_examples/examples/rtos/LP_EM_CC2340R5/ble5stack/basic_ble_GATT_client/app_menu.c at simplelink_low_power_f3_SDK-7.20·Texasments/ble_examples Hub[/·quote][报价 userid=589790" url="~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1352649/cc2340r5-scan-filter-and-connect/5173318 #5173318"](2)是否仅表示需要根据该菜单更新应用程序链接? 或者下载它并覆盖原始 basic_ble 项目中的 app.menu.c。
=>应在工作区中下载并导入 basic_ble_GATT_CLIENT 示例。
恐怕只更改 app_menu.c 文件就不会包含您在项目中所需的功能。
此致、
嗨、克莱门特
感谢您的回答。 我还有几个问题、我希望大家能够回答。
(1)如果周围有许多蓝牙设备在运行、它是否会影响扫描? 因为我使用两个 CC2340进行测试、一个作为中央设备、一个作为外设、但当我使用 MAC 地址进行滤波时、我发现很难在用于测试的外设模式下扫描 CC2340。
(2) SYSCFG 设置的扫描参数是否会影响 Code 中设置的扫描参数? 因为我发现、当我在 SYSCFG 中设置扫描参数时、Code 中的扫描参数不会相应地改变。 这是否意味着它们是单独的参数? 如果是这样、我应该使用 SYSCFG 参数作为主参数、或在代码中设置它们。 主要参数是什么? 

