SPP 发送数据丢包问题
Posted: Tue Jul 12, 2022 12:34 am
模块:ESP32-WROOM-32E
ESP-IDF:4.4.1
IDE:eclipse
OS:Windows 11 pro
基于bt_spp_initiator和bt_spp_acceptor修改的程序,实现实际串口通过spp进行无线延长,在数据单向连续发送的测试过程中,发现数据有丢失的现象,开始以为是ESP_SPP_WRITE_EVT 和 ESP_SPP_CONG_EVT导致的阻塞,在严格按照逻辑进行修改后,同时也尝试了VFS模式,仍然有数据的丢失。
根据测试现象和monitor的调试信息,发现每次出现问题时,调试信息都有ESP_BT_GAP_MODE_CHG_EVT mode:0动作出现,空闲时或停止数据通信时,会切换到ESP_BT_GAP_MODE_CHG_EVT mode:2。
请问如何保持设备的状态一直在ESP_BT_PM_MD_ACTIVE,或者如何避免在ESP_BT_PM_MD_SNIFF切换到ESP_BT_PM_MD_ACTIVE时的数据丢失问题。
ESP-IDF:4.4.1
IDE:eclipse
OS:Windows 11 pro
基于bt_spp_initiator和bt_spp_acceptor修改的程序,实现实际串口通过spp进行无线延长,在数据单向连续发送的测试过程中,发现数据有丢失的现象,开始以为是ESP_SPP_WRITE_EVT 和 ESP_SPP_CONG_EVT导致的阻塞,在严格按照逻辑进行修改后,同时也尝试了VFS模式,仍然有数据的丢失。
根据测试现象和monitor的调试信息,发现每次出现问题时,调试信息都有ESP_BT_GAP_MODE_CHG_EVT mode:0动作出现,空闲时或停止数据通信时,会切换到ESP_BT_GAP_MODE_CHG_EVT mode:2。
请问如何保持设备的状态一直在ESP_BT_PM_MD_ACTIVE,或者如何避免在ESP_BT_PM_MD_SNIFF切换到ESP_BT_PM_MD_ACTIVE时的数据丢失问题。