CC2640R2F 连接多个从机问题
使用CC2640R2F LaunchPad,BLE5Stack里的multi_role例程,经过修改使主机连接2个从机,从机用GATT_notification直接发数据到主机,当第二个从机发送数据时,两个从机就都停止数据发送了,有几个疑点请帮忙确认:
1,连接间隔80ms,从机建立连接后每隔80ms定时调用GATT_notification发送240个字节数据到主机。单独连接每个从机数据都可以上来,按道理两个从机发数据只是在各自的connect event里,使用2MPHY的话,发送时间也就1ms,时间上没有冲突的可能。但有一点不确定,就是L2CAP层是不是将240个字节分包为12个20字节分别发送的?而我已经将l2cap.h里的的L2CAP_MTU_SIZE从23改为243了,是否意味着240字节可以一次发送?
2,对于主机来说,两个从机的connHandle分别为0x0000和0x0001;对于从机来说,两个从机端的connHandle都是0x0000,是否是因为connHandle相同导致的冲突?但是强制将connHandle写为0x0001,数据就发不出去了。
3,如果从机通过写Simpleprofile_SetParameter调用GATTServApp_ProcessCharCfg方式发数据,主机发送noti使能后就卡死了,感觉是事件太多处理不过来了。有个有没有能够处理较多数据的例子?
CC2640R2F的内存比较窘迫,确实会出现处理不过来的情况,例子请看这边: https://github.com/ti-simplelink/ble_examples/blob/master/docs/multi_role.md
Viki Shi,感谢您的答复,不过这个链接失效了,是否有更新的链接?
另外有个困扰很久的问题,5.0协议栈底层还是会将长数据包分为20字节每次发送,这个有办法修改吗?MTU交互之后难道不是按照协商好的MTU一次传输吗?如果还要分包的话,4.2以后版本的链路层255octets payload不是没有意义了?
主机和从机都用的cc2640R2吗?
从机不能同时发送数据给主机,会产生冲突的!
主机和从机都是CC2640R2F,如果每次发20字节两个从机的数据都可以收到,多于20字节由于分包发送,主机收到的20字节以后数据会出现错乱或丢包。如果每次发的数据再大一些,主机和从机都会卡死。
分包不分包跟PDU设置有关,具体请看这边: http://blog.csdn.net/zaoyuzang6112/article/details/76570683
Viki Shi,十分感谢!终于解决了困扰我的问题:)
不客气的,解决就好
请问您的问题如何解决的