微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > GATT_Notification 在主机端的接收速率

GATT_Notification 在主机端的接收速率

时间:10-02 整理:3721RD 点击:

两个板子,一主以从,。 用串口调试助手定时给从机发数据, 速率是 一秒发20次,每次小于20 字节。然后从机用GATT_Notification 给主机发数据  ,同时还把收到的数据发回串口显示出来。 主机收到GATT_Notification发送的数据,也是通过串口显示出来。

问题来了: 从机用GATT_Notification 发的数据 ,在主机不能全部收到, 是不是发的速率太块了。 如果是的话,主机能接受的熟虑是多少。? 或者说可以在主机的代码里面可以设置?

note:

         串口调试助手定时发送熟虑为 50ms,  就是一秒钟发20 次。  停止定时发送后,主机收到的数据有部分会丢失而且会延迟。

YAN~~

Notify使用osal timer 的Event来排队发送,timeout可以设置为0。
速度与连接间隔设置有关,每个连接间隔可以发送4个数据包,传输量计算方法:

TI对TI是7.5ms:4*20Byte          (连接间隔7.5ms,实现方法Gatt Send与Notify)
TI对Phone是20ms:4*20Byte  (连接间隔20ms,实现方法Notify)
Phone对TI是20ms:4*18Byte  (连接间隔20ms,实现方法Write Characteristic) 

7.5ms??  您的意思是 用GATT_Notification 以7.5ms 速度给主机发数据。 主机也是可以完整的收到数据是吧。?

如果是的话: 应该在主机用什么函数去设置什么宏呢 ?

如果不是的话: 那我的问题是,板子间的通讯(单向的就行),如果要进行传输的数据每一次的传输间隔很短(比如10ms),应该用GATT_Notification   还是 用GATT_Writecharvolue(), 这两个的效率哪个比较高。

note:我要实现的是这两个设备是一个板子 一个USBDongle,其他模块设备上电输出信息(比如设备信息。等等,大量的,速度很块!)。输出到板子,然后板子把这些消息发给USBdongle() 然后通过串口打印出来(已把usbdongle的USB转串口的代码一直好了。)。

希望能帮我解答~~

请先阅读协议栈中 软件开发文档 的 角色介绍一节,Notify是只能从机往主机发的,GATT_Write 是只能 主机往从机发的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top