嗨,对话框中,
我遇到了一个问题,希望您能给我一些建议
我正在给Android手机发送一些数据,但我发现一些手机不能接收完整的100Hz的数据(华为P20),结果只有大约80Hz,即使它有BT4.2。
我使用BLE嗅探工具嗅探手机和DA14681之间的通信,只发送一个计数数来检查不连续。
我注意到不是因为手机没有收到包,是DA14681没有连续发送包,DA14681会发出1、2、4、5、7、8、9等计数数,但是在其他可以接收全100Hz的Android手机中不会出现这种效果。
因为我对BLE协议还不是很熟悉,我能做些什么来减少这种影响吗?谢谢你:)
设备:
嗨andoridfm2013,
您能试着描述一下“100Hz的数据”是什么意思吗?对不起,你的问题我听不懂,你能解释一下吗?
谢谢,PM_Dialog
你好,
我正在以100Hz的频率向手机发送一些数据,这意味着每秒100个包,或每秒100个通知
嗨andoridfm2013,
这取决于应用程序的实现。你能让我知道你使用的是哪个SDK的例子,并提供更多关于你的应用的细节吗?
谢谢,PM_Dialog
你好,
我使用pxp_reporter示例开始,我使用i2C BUS读取IMU数据,然后发送acc,陀螺仪读数和一些元数据,总计约18字节的电话通知在100Hz, 100Hz是由定时器运行senddata()函数提供的。
元数据将包括向上计数的每个包的序列号。
问题是一些华为手机总是漏了一些数据包,在使用BLE数据包嗅探器检查时,DA14681只是跳过了一些数据包而丢失了,
感觉手机ACK不够快,所以DA14681可以连续发送数据包,然后跳过一些数据包,因为定时器一直在推送数据包发送出去,但我不确定通知是否有ACK ?所以希望对这个问题有一些见解,谢谢。
嗨andoridfm2013,
如果一个包丢失了,你将得到一个无效的crc,然后丢失的包将被重新传输。从你的描述中我可以理解,这个问题可能来自电话那边。你想用另一部手机吗?
谢谢,PM_Dialog