我用系统定时器采集数据,处理数据后采用notify方式发送数据,每隔0.1秒发送一包数据,即一秒钟发送10包数据,每包数据10个字节。但是程序运行一段时间会死掉。
我修改发送速度,每隔0.2秒发送一包数据,即一秒钟发送5包数据,每包数据10个字节,程序运行正常。
当我把每包发送的数据改为2个字节,发送速度改为每隔0.1秒发送一包数据,但是程序运行一段时间死掉。
当我把每包发送的数据改为2个字节,发送速度改为每隔0.2秒发送一包数据,程序运行正常。
通过以上测试试验,是不是可以证明DA14580每秒发送数据不能超过10包呢?
DA的工程师可以给一个测试结果吗?DA14580每秒可以发送多少包数据?每包数据可以发送多少字节?
Keywords:
Device:
你好,
抱歉回复慢了。如果你使用notification发送数据的话,受MTU size限制,每个notification的长度为20字节。
之前有用户测试过在设置连接terval max为9(11.25ms)时, 可以在161ms内发送50个packets,也就是1kB
BR,
你好
那么这样高频率的发送数据包,都是在app_on_ble_powered 和 app_on_sytem_powered 两个函数里完成的吗?
我也遇到了类似的问题。需要以5ms的间隔,发送数据包,我的ble connection interval 设置为10ms. 安卓端也只能支持到这个设置了。
不好意思,回复晚了,我用定时器adc_timer_handler()函数进行处理采集数据并发送,app_timer_set(ADC_TIMER, TASK_APP, 1);设置为10ms进行一次数据采集,每隔0.2秒发送一次数据,可以保证收发数据比较稳定。但是在我的APP上面显示很慢。而且最近发现一个问题,苹果手机找不到我的BLE设备。
手机找不到BLE设备是指无法用蓝牙开发软件找到还是说无法在系统设置的蓝牙里找到?
如果是后者的话应该是广播参数的问题,苹果设备只会显示比较少的已知种类的外设,而种类是通过广播数据决定的