完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,我想实现一次连接事件传输的数据量为500字节,或者更大。是如何实现的?
MTU设置成255,应该是可以传输251字节数据。MAX_NUM_PDU设置成5,应该可以传送251*5=1255字节吧?目前传输超过251字节的数据会被丢掉。是要使用多次传输函数吗? |
|
相关推荐
1个回答
|
|
您好!CC2640R2F是一款基于ARM Cortex-M3内核的低功耗蓝牙(BLE)SoC,它支持BLE 4.2标准。要实现一次连接事件传输的数据量为500字节或更大,您需要考虑以下几个方面:
1. MTU(Maximum Transmission Unit)设置:MTU是BLE传输中的最大数据包大小。在BLE 4.2中,MTU的最大值为251字节。因此,您需要确保在连接过程中,MTU被设置为251字节。这可以通过设置`hciLeWriteDefaultDataLen`命令来实现。 2. 数据分段:由于MTU限制,您需要将大于251字节的数据分成多个数据包进行传输。这通常需要在应用层实现数据的分段和重组。 3. 使用多个PDU(Protocol Data Unit):在BLE 4.2中,可以通过设置`hciLeWriteSuggestedDefaultDataLen`命令来建议使用多个PDU进行数据传输。这将允许在一次连接事件中传输更多的数据。然而,这并不意味着您可以一次性传输1255字节(251字节*5个PDU),因为实际传输的数据量还受到其他因素的影响,如链路层的缓冲区大小和传输速率。 4. 链路层缓冲区:链路层缓冲区的大小会影响一次连接事件可以传输的数据量。您需要确保链路层缓冲区足够大,以支持您所需的数据传输量。 5. 传输速率:BLE的传输速率受到多种因素的影响,如设备之间的距离、信号质量等。为了实现更高的数据传输速率,您需要优化这些因素。 6. 使用多次传输函数:由于MTU限制,您需要使用多次传输函数来实现大于251字节的数据传输。这通常涉及到在应用层实现数据的分段和重组。 综上所述,要实现一次连接事件传输的数据量为500字节或更大,您需要考虑MTU设置、数据分段、使用多个PDU、链路层缓冲区大小和传输速率等因素。在应用层实现数据的分段和重组是关键,以确保数据能够顺利传输。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
高通的蓝牙QCC308x和51xx芯片开发工具和文档必须高通审核才能下载和使用吗?
2266 浏览 0 评论
1607 浏览 0 评论
会员风采!华秋电子——致力于“为电子产业增效降本”的数字化智造平台
1044 浏览 0 评论
【应用笔记】BlueNRG-LP、BlueNRG-LPS+省电模式
8096 浏览 1 评论
11304 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 13:44 , Processed in 0.431017 second(s), Total 41, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号