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.

[参考译文] CC2640R2F:CC2640R2F

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1469072/cc2640r2f-cc2640r2f

器件型号:CC2640R2F

工具与软件:

您好!

我使用的是 Code Composer Studio 版本10.3.0.00007

BLE SDK simplelink_cc2640r2_sdk_5_10_00_02

XDC 工具版本3_51_03_28_CORE

外置闪存 (包括25x40)

预定义符号 MAX_NUM_BLE_CONNS=1  

在 ll_config.h 中、 键入#define MAX_NUM_BLE_CONns  3.  

这是 用于标识目标的代码部分  

//在扫描硬币列表中查找要连接的硬币地址
uint8 find_dest_addr()//**此函数查找最短距离 Coin 或网关的目标地址**//

uint8_t association=0、diff=0;//
uint8_t i;
uint16_t dest_id=0xFFFF;
uint8_t dest_id_index;
uint8_t devices_in_ranges=0、devices_out_ranges=0;
INT8 HIGH_RSSI =-96;
INT8 LOWMET_RSSI =-60;


for (i=0;i<dev_list_index;i++)

if (scanned_coin_info[i].in_range == true)
devices_in_range++;
设计
devices_out_range++;
}


if (devices_out_range=0 && devices_in_range!= 0 )
场景= 1;
否则为(devices_out_range!=0 && devices_in_range == 0)
场景= 2;
否则为(devices_out_range!=0 && devices_in_range!= 0)
场景= 3;
设计
场景= 0xFF;


if (gatdata==0)//coin to gateway

if (情境!=0xFF)

if (sequency=1 || sequency=3)

for (i=0;i<dev_list_index;i++)

if (((SCAND_COIN_INFO[i].IN_RANGE == true)&&(SCAND_COIN_INFO[i].rssi <最低 RSSI)&&(SCAND_COIN_INFO[i].STATIC_id<目的 id))

dest_id_index = i;
lowers_rss=scanned_coin_info[i].rssi;

}
}

}
否则、如果(场景=2)

for (i=0;i<dev_list_index;i++)

if (((SCAND_COIN_INFO[i].IN_RANGE == FALSE)&&(SCAND_COIN_INFO[i].rssi > HIGH_RSSI))

dest_id_index = i;
MAXIMUM_RSSI=SCAND_COIN_INFO[i].rssi;
}
}
}
返回 dest_id_index;

}
}


否则、if (gatdata=1)//gateway to coin

dest_id=0x0000;
if (情境!=0xFF)

if (sequency=1 || sequency=3)

if (sample_dyn_id==1)

for (i=0;i<dev_list_index;i++)

if ((SCAND_COIN_INFO[i].IN_RANGE == true)&&(SCAND_COIN_INFO[i].rssi <最低 RSSI)&&(SCAND_COIN_INFO[i].STATIC_id > dest_id))

dest_id_index = i;
lowers_rss=scanned_coin_info[i].rssi;
}
}
}
否则 if (sample_dyn_id=0)

for (i=0;i<dev_list_index;i++)

if (((scanned_coin_info[i].in_range == true)&&(scanned_coin_info[i].dyn_id_16 > dest_id))

dest_id_index = i;
dest_id=scanned_coin_info[i].dyn_id_16;
}
}
}
}
否则、如果(场景=2)

for (i=0;i<dev_list_index;i++)

if (((SCAND_COIN_INFO[i].IN_RANGE == FALSE)&&(SCAND_COIN_INFO[i].rssi > HIGH_RSSI))

dest_id_index = i;
MAXIMUM_RSSI=SCAND_COIN_INFO[i].rssi;
}
}
}

}

返回 dest_id_index;
}
设计
返回0xFF;
}

我希望同时实施 connections.please guide me。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的咨询。

    请问您是否使用 SDK 中的示例作为参考来顶层构建您的应用? 您是否要建立连接、或者在扫描时从广播报告中读取 RSSI 是否足够? 您能否尝试在工程属性-> Build -> Arm Compuler -> Predefined Symbols 中设置 MAX_NUM_BLE_CONns 值。

    BR、

    David。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我有定制板、因此我有根据 RSSI 一次建立一个连接的工作代码、正如在 上面的代码中提到的。我将根据您关于  MAX_NUM_BLE_CONns 的建议进行尝试。但有没有任何文档可以用于实现这一点?

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    请告诉我如何修改参数的预定义值。 您可以从 SDK 中的 simple_peripheral 示例开始、并查看 此处的用户指南文档

    BR、

    David。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    在 ble SDK simplelink_cc2640r2_sdk_5_10_00_02中、它允许的同时连接数。 相应地、我可以为 MAX_NUM_BLE_CONns 分配值  

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    CC2640R2应能够支持最多8个同时连接。 但是、最后的限制主要与可用的 RAM 有关。 这是因为每个连接都需要维护和分配一定数量的堆。

    BR、

    David。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    我尝试  在工程属性-> Build -> Arm Compiler -> Predefined Symbols 内设置 MAX_NUM_BLE_CONns 值。 之前它是1我用3更改。但我的程序被卡住了,它不在初始化函数内。所以请引导我