你好,
我将SPS配置文件添加到BLE示例ANC以在按下按钮时通过TX属性发送数据。我使用“sps_tx_data”函数来发送数据。
数据在连接到BLE的Android设备上正确接收。但是在几个传输之后(不是FIX的发送次数而不是依赖于发送的字节数),没有更多的数据与“SPS_TX_DATA”功能发送。在发送数据之前,函数“sps_tx_data”返回,因为函数“get_tx_lenght”与0不同。
在阻止之前发送的最后发送,发送TX完成回调,发送0个字节。这是由“handle_event_sent”函数中的错误引起的,“get_tx_lenght”函数返回错误,因为函数“generic_get_cmd”返回ble_error_not_found。
我找到了一个临时解决方法:在功能“sps_tx_data”中,我在“send_tx_data”的调用之前移动了函数“set_tx_lenght”。
这似乎是时间问题,您是否有可能导致此类错误的错误配置线索?
关键词:
设备:
嗨Joffrey Coffineau,
我在那个内部机票上,团队正在检查这个问题。
谢谢mt_dialog.
嗨Joffrey Coffineau,
set_tx_length和get_tx_length的目的是存储最后一个tx的长度,并充当指示正在进行Tx的标志。如果看到get_tx_length始终返回0,则表示您将数据发送比BLE速度快得多。所以尝试降低数据速率或增加BLE吞吐量,问题不应该发生。
您可以调整这两个API的位置,以积极发送TX数据。然后堆栈存在过载的风险。
谢谢mt_dialog.