完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用 CYBT-343026 (CYW-20706 Silicon) 模块。 我根据 SPP 样本制作了一个操作 SPP 的应用程序。 但是,传输大数据时有时会丢失数据。 它从 CYBT-343026 传输到 Windows PC。
CYBT-343026 —(蓝牙 SPP)— > Windows 10 PC 我做了一些研究,发现蓝牙有 L2CAP 重传功能,应该使用。 相关的 API 似乎是 wiced_bt_l2cap_ertm_enable () 但我找不到如何使用它。 你能告诉我有没有示例代码之类的吗?而且 wiced_bt_cfg 结构的 l2cap_application 必须配置吗? |
|
相关推荐
1个回答
|
|
有几个可能导致大数据传输丢失的原因:
1. 信号强度不足:如果CYBT-343026和Windows PC之间的蓝牙信号强度不够强,数据包可能无法完全传输。 2. 数据包丢失:在传输过程中,数据包可能会由于干扰、冲突或其他原因而丢失,导致数据丢失。 3. 缓冲区溢出:如果接收端(Windows PC)的缓冲区大小不足以容纳传输的大数据量,一些数据可能会丢失。 为了解决这个问题,可以尝试使用L2CAP的重传模式来确保数据的可靠传输。 L2CAP ERTM(Enhanced Retransmission Mode)提供了一种重传机制,可以帮助在数据传输过程中进行丢失数据的重传。 要使用L2CAP ERTM,您可以尝试在初始化蓝牙堆栈时启用ERTM功能。可以使用wiced_bt_cfg结构体中的l2cap_application字段来配置L2CAP应用程序的参数。在该字段中,您可以设置ERTM的使能标志并指定其他相关参数。 以下是一个简单的示例代码片段,展示了如何启用L2CAP ERTM: ```c wiced_bt_cfg_t bt_cfg_settings = {0}; // Enable L2CAP ERTM bt_cfg_settings.l2cap_application.use_ertm = TRUE; // Other BT configuration settings... // Initialize Bluetooth stack with the configuration wiced_bt_stack_init(&bt_cfg_settings); ``` 请注意,您需要根据您的具体需求和应用程序进行适当的配置。 此外,wiced_bt_l2cap_ertm_enable()函数是用于在运行时启用ERTM的API。您可以在需要启用和禁用ERTM的特定场景中使用它。 希望这些信息能帮助您解决数据丢失的问题。祝您成功! |
|
|
|
只有小组成员才能发言,加入小组>>
373浏览 1评论
500浏览 1评论
615浏览 1评论
用PSOC6 BLE当外围设备,两者传输数据时,psoc6概率性出现蓝牙挂死的原因?
505浏览 1评论
是否有办法通过CYW20835板的固件发送BLE HCI命令?
479浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-31 01:27 , Processed in 0.562492 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号