TI中文支持网
TI专业的中文技术问题搜集分享网站

RE: CC2642R: 如何才能使BLE可以接收到雷达发出的完整的数据

这些都了解过,目前我可以实现雷达输出传输到BLE,即将烧录.bin程序到6843AOP demo板,每一帧均输出一个字节为0x78,然后可以使用BLE接收到数据0x78,目前使用的特征是0000fff1-0000-1000-8000-00805f9b34fb

说明BLE和雷达通讯时没问题的,现在的问题是将雷达输出的数据增多,此时BLE每次还是只能接受到一个字节的数据,但是我需要BLE可以接收到雷达发出的完整一帧的数据,需要如何修改才可以

我看了说明,目前特性0000fff1-0000-1000-8000-00805f9b34fb设置的字节数为1,是否只需要修改字节数就可以实现我的要求,具体需要如何修改,麻烦告知

目前使用的是例程C:\ti\simplelink_cc13xx_cc26xx_sdk_7_10_01_24\examples\rtos\CC26X2R1_LAUNCHXL\ble5stack\simple_peripheral

我又修改了运行雷达工程,输出数据为持续加1,但是BLE接收到的数据刚开始是连续的,几秒钟后就不连续,如下所示

Received data: 65
Received data: 66
Received data: 67
Received data: 68
Received data: 69
Received data: 6a
Received data: 6b
Received data: 6c
Received data: 6d
Received data: 6e
Received data: 6f
Received data: 70
Received data: 72
Received data: 73
Received data: 74
Received data: 75
Received data: 76
Received data: 77
Received data: 78
Received data: 79
Received data: 7a
Received data: 7b
Received data: 7c
Received data: 7d
Received data: 7e
Received data: 7f
Received data: 80
Received data: 81
Received data: 82
Received data: 88
Received data: 92
Received data: 9c
Received data: a6
Received data: b0

Yolande Wang:

您好,

请问您的一帧数据大约是多少个字节?

如果使用您截图中的 FFF5 的 UUID,是否能满足您的需要?

这边会继续帮您确定特征值字节数限制的方法。

,

Yolande Wang:

非常抱歉,

JX Z 说:

现在的问题是将雷达输出的数据增多,此时BLE每次还是只能接受到一个字节的数据,但是我需要BLE可以接收到雷达发出的完整一帧的数据,需要如何修改才可以

我看了说明,目前特性0000fff1-0000-1000-8000-00805f9b34fb设置的字节数为1,是否只需要修改字节数就可以实现我的要求

根据您的描述,是需要增加 payload 的长度,而非增加 UUID 的字节数。

以下是建议:

首先,仿照 FFF5 这个 characteristic 建立一个多字节的 characteristic 。

其次,按照下面链接增加MTU大小:

https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_7_10_02_23/docs/ble5stack/ble_user_guide/html/ble-stack-5.x/gatt.html#maximum-transmission-unit-mtu

,

JX Z:

目前想的是将使用demo工程C:\ti\mmwave_industrial_toolbox_4_12_1\labs\Out_Of_Box_Demo,蓝牙可以接收到完整的输出数据,一帧数据一般三四百,目标多的话会接近上千个

,

JX Z:

我是否可以直接将FFF1这个 characteristic修改其参数,将其改为一个多字节的 characteristic 

,

Yolande Wang:

JX Z 说:我是否可以直接将FFF1这个 characteristic修改其参数,将其改为一个多字节的 characteristic 

可以。

比如您想将格式1字节整数修改为2字节可以参考以下:

需要将一些值 uint8_t 更改为 uint16_t(simple_peripheral:FFF1 Channel)。

还需要更改 SimplePeripheral_init 中的以下行

SimpleProfile_SetParameter(SIMPLEPROFILE_CHAR1, sizeof(uint8_t),&charValue1);

SimpleProfile_SetParameter(SIMPLEPROFILE_CHAR1, sizeof(uint16_t),&charValue1);

总言之,如果您要修改长度,则必须确保所有对该长度的引用均已更新。对于 SIMPLEPROFILE_CHAR2 情况以及整个程序和配置文件,您可能需要更新 SimpleProfile_SetParameter() 函数中的长度。

您需要对一开提到的初始化进行修改。我建议参考自定义配置文件 SLA 实验室。

赞(0)
未经允许不得转载:TI中文支持网 » RE: CC2642R: 如何才能使BLE可以接收到雷达发出的完整的数据
分享到: 更多 (0)