如何使用MultiCentral例程读取多个终端的noti(UUID修改过了)

技术老师,您好。咨询一主多从接收noti问题,描述如下:


CH582F芯片,此前成功实现了一对一的central程序,可以获取终端发来的noti数据。

Snipaste_2024-04-23_11-28-50.png

现在还是CH582F芯片,使用一对多MultiCentral例程,service的UUID修改为FF01,noti的UUID修改为FF02。

Snipaste_2024-04-23_11-20-11.png

现在用同样的MAC扫描方法,将一对一的方法用在一对多例程中,发现只能扫描并绑定,无法获取终端发来的noti。


Snipaste_2024-04-23_11-22-52.png


修改了两个地方,第一个是gattprofile.h文件中的两个UUID,

第二个地方是MultiCentral.c文件中的三个MAC地址

Snipaste_2024-04-23_11-25-05.png


然后程序运行起来了,能够扫描到我的三个终端并绑定,但是只显示RSSI信息,没有输出终端发出来的Noti。


请问还需要修改哪些地方才能实现。

从官网下载了最新的EVT,官方提供的时间是2024年1月16日。

Snipaste_2024-04-23_14-33-32.png

做了简单的修改,运行成功的串口信息如下。绑定了三个设备,读取了两个设备的noti。可以了。

Snipaste_2024-04-23_14-32-57.png

还有一个问题,就是最多能支持到多少个?有一些说明里面说协议栈最多支持到8个。


CH582F例程提供的是连接3个,理论上是可以连接3个。实测过可以连接8个,但是需要查看后的收发数据量,建议也进行实测。注意点:可以将给协议栈分配的RAM扩大一些如10K,连接间隔给大一些。


只有登录才能回复,可以选择微信账号登录