CC2640 采用notify传输最大速率?
请问,CC2640 采用notify传输最大速率能有多大呢?
我做了个简单的试验:
使用周期函数循环发送数据包,200ms 触发一次,发送一个数据包(400byte),采用的是放入队列,产生信号量的方法,结果程序直接死了;
将周期加大,比如到800MS,就可以发送成功;或者将数据包数据量减少(比如100byte),在200ms内依然可以发送。
所以我的理解是采用notify发送,速度也不是很快对吗?
上面试验应该和我程序的堆设置无关,堆已经足够大
cc2540据说国外测试可以达到每秒4k字节以上!
我的是CC2640
现在我是每隔200毫秒发送一个440字节的数据,基本是一发送就死机
你好,
CC2640在使能BT4.2的协议栈下可以做到100kbps的速率。
Result
Using the parameters described above, we are able to achieve a throughput of around 38.6kB/s without data length extension
Using data length extension and the maximum controller data payload we see a throughput increase to 100kB/s.
Throughput calculations can be done by hand following this equation
THROUGHPUT_KBPS = (NUM_PACKETS_PER_CXN_EVT) * (NUM_BYTES_PER_PACKET - TOTAL_PACKET_OVERHEAD)/ (CONNECTION_INTERVAL)
With standard controller features the throughput example will use the following vars
NUM_BYTES_PER_PACKET = 27 bytes TOTAL_PACKET_OVERHEAD = 7 bytes CONNECTION_INTERVAL = 200ms
With DLE enabled the throughput example will use the following vars
NUM_BYTES_PER_PACKET = 251 bytes TOTAL_PACKET_OVERHEAD = 7 bytes CONNECTION_INTERVAL = 200ms
As an example, from the above sniffer capture 85 packets of 244 data payload bytes are sent in one connection event (200 ms). This comes out to 103.7kB/s which is similar to what Ellisys is calculating.
测试代码如下所示:
https://github.com/ti-simplelink/ble_examples/blob/master/docs/throughput_example.md