有200个数据存在Flash中,每个数据大小是9Byte。
我目前是这样做的:uint8 Buf[9],将Buf设置为READ属性。
然后每次Client采用Read方式,从Server读取一个数据后,将下一个数据从Flash读取放到Buf中。
这样需要Read200次。
有什么方法可以更快地进行数据传输呢?
我这样尝试了,将Buf设置而为Notfiy属性,
然后设置了一个TransferStart特性,将TransferStart设置为1时,启动传输。
以下为伪代码:
ProfileChangeCB( uint8 paramID )
{
switch( paramID )
case TRANSFER_START:
if(TransferStart==1)
for(i=0;i<200;i++){
movedata(Buf, Flash[i]);
Notify(Buf);
}
}
但是这样失败了,一开始传输,连接就断掉了。
请教如何才能高效地传输较大批量的数据呢?
Yan:
Feng,
连续发送10次可能有点过。
你试一下四次。
Barbara Wu:
每次传输可以传20Byte
设置成notification的方式会快速从从机向主机更新 可以去看BLE_Bridge的例程怎么使用notification
http://processors.wiki.ti.com/index.php/SerialBLEbridge