完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现在是这样的,首先我手上拥有USB_Dongle+Nucleo Board以及自己设计的开发板(和USB_Dongle兼容),现在想使用USB_Dongle作为P2P_Client,其他两块板子分别为Sever1和Sever2。目前只能实现Client与其中任意一块链接,但不能实现多机的链接。
app_conf.h中配置如下, define CFG_MAX_CONNECtiON 2 define CFG_DEV_ID_P2P_SERVER1 (0x83) define CFG_DEV_ID_P2P_SERVER2 (0x84) app_ble.c如下: if (adlength >= 7 adv_report_data[k + 2] == 0x01){ / ST VERSION ID 01 /APP_DBG_MSG("--- ST MANUFACTURER ID --- n");switch (adv_report_data[k + 3]){ / Demo ID /case CFG_DEV_ID_P2P_SERVER1: / End Device 1 /APP_DBG_MSG("-- SERVER DETECTED -- VIA MAN IDn");BleApplicationContext.DeviceServerFound = 0x01;SERVER_REMOTE_BDADDR[0] = le_advertising_event->Advertising_Report[0].Address[0];SERVER_REMOTE_BDADDR[1] = le_advertising_event->Advertising_Report[0].Address[1];SERVER_REMOTE_BDADDR[2] = le_advertising_event->Advertising_Report[0].Address[2];SERVER_REMOTE_BDADDR[3] = le_advertising_event->Advertising_Report[0].Address[3];SERVER_REMOTE_BDADDR[4] = le_advertising_event->Advertising_Report[0].Address[4];SERVER_REMOTE_BDADDR[5] = le_advertising_event->Advertising_Report[0].Address[5];break;case CFG_DEV_ID_P2P_SERVER2: / End Device 2 /APP_DBG_MSG("-- SERVER DETECTED -- VIA MAN IDn");BleApplicationContext.DeviceServerFound = 0x02;SERVER_REMOTE_BDADDR[0] = le_advertising_event->Advertising_Report[0].Address[0];SERVER_REMOTE_BDADDR[1] = le_advertising_event->Advertising_Report[0].Address[1];SERVER_REMOTE_BDADDR[2] = le_advertising_event->Advertising_Report[0].Address[2];SERVER_REMOTE_BDADDR[3] = le_advertising_event->Advertising_Report[0].Address[3];SERVER_REMOTE_BDADDR[4] = le_advertising_event->Advertising_Report[0].Address[4];SERVER_REMOTE_BDADDR[5] = le_advertising_event->Advertising_Report[0].Address[5];break; default:break;} |
|
相关推荐
1个回答
|
|
要让P2P_Client同时连接多个设备,在app_conf.h中需要配置正确的CFG_DEV_ID_P2P_SERVER1、CFG_DEV_ID_P2P_SERVER2等设备ID。
当前的配置中,你只配置了一个设备ID为CFG_DEV_ID_P2P_SERVER1 (0x83),所以P2P_Client只能连接这一个设备。 你需要修改app_conf.h中的配置,增加CFG_DEV_ID_P2P_SERVER2等其他设备的ID。例如: #define CFG_DEV_ID_P2P_SERVER1 (0x83) #define CFG_DEV_ID_P2P_SERVER2 (0x84) #define CFG_DEV_ID_P2P_SERVER3 (0x85) ... 然后,还需要修改代码来处理多个设备的连接。这个要根据具体的程序逻辑来修改,例如可以使用循环来依次连接多个设备: for (uint8_t dev_id = CFG_DEV_ID_P2P_SERVER1; dev_id <= CFG_DEV_ID_P2P_SERVER3; dev_id++) { // 连接设备的代码 ... } 这样就可以实现P2P_Client与多个设备的连接了。注意,根据你的具体情况可能还需要修改其他代码以支持多设备连接。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1763 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1617 浏览 1 评论
1059 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
723 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1670 浏览 2 评论
1933浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
726浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
566浏览 3评论
592浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
550浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 10:52 , Processed in 0.807218 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号