请教主从机多机通讯问题

工程师好,请教一下我要实现向点菜机一样的功能,一个主机和多个从机,要参考哪些例程,感谢

可以看看BLE目录下的这个例程是否符合你的需求:

emobile_2022-10-14_10-25-11.png


感谢工程师,我试了这个例程,可以和Peripheral文件夹的从机正常连接,还要请教一下,我要实现无线数据上传和下传要在什么位置添加代码,看了一下没看太明白,麻烦老师不忙的时候给讲解一下,感谢感谢!!


可以参考下方链接,看看蓝牙主从机的收发接口的介绍。

https://www.cnblogs.com/risc5-ble/p/15994545.html


感谢老师,从机发送可以了,用手的调试工具可以收到通知数据,请问老师在主机端要用什么函数来接收数据?我看您给我那个连接是从机接收的,用的tmos_memcpy,主机也用这个函数吗?还是用其他什么方式,麻烦老师给讲解一下,另外这个函数tmos_memcmp(src1, src2, len) scr1和scr2分别是什么?谢谢老师


主机的收发接口在链接的最下方的两张图中也有描述,

tmos_memcpy这个函数并没有蓝牙收发的功能,这就是一个简单的memcpy函数,将数据复制到另一个数组,

tmos_memcmp的功能就是比较你传入的两个数组里的值是否一样,与蓝牙收发无关。



不好意思老师,刚才我说的不对,我看到后面说是

   else if(pMsg->method == ATT_HANDLE_VALUE_NOTI)

    {

        PRINT("Receive noti: %x\n", *pMsg->msg.handleValueNoti.pValue);

    }

这个地方会打印出收到的信息,但是我这个主机并没有打印出收到的信息啊,请问老师什么原因


用的是哪块板子,用的是什么版本的例程,首先要确实使用的例程中有这部分代码,



老师您好,用的芯片是ch582m;2022.03版本的MultiCentral 文件夹的例程


下载一个官网最新的问题,如果没有接收的话可以将主机完整的log信息贴出来看看,另外就是先用默认例程跑。


老师,我下载了最新的例程,没有做任何修改,从机那边是1秒发送一次8个字节,手机调试软件可以正常接收到,主机还是接收不到,但是打印信息看是可以连接的,下面是打印信息,麻烦老师给看一下,谢谢老师

CH58x_BLE_LIB_V1.50

Discovering...

Device 1 - Addr 2 2 3 e4 c2 84 

Device 2 - Addr 50 f1 63 7d 3a 16 

Device found...

Connecting...

Conn 1 - Int 3d 

Connected...

Discovering...

Device 1 - Addr 50 f1 63 7d 3a 16 

Found Profile Service handle : 21 ~ ffff 

Found Characteristic 1 handle : 23 

RSSI -31 dB Conn - 1 

Device not found...

Discovering...

Device 1 - Addr 50 f1 63 7d 3a 16 

Write sent: 5a

Update 1 - Int 3c 

RSSI -32 dB Conn - 1 

Device not found...

Discovering...

Device 1 - Addr 50 f1 63 7d 3a 16 

Read rsp: 5a

RSSI -32 dB Conn - 1 

Device not found...

Discovering...

Device 1 - Addr 50 f1 63 7d 3a 16 

RSSI -32 dB Conn - 1 

Device not found...

Discovering...

Device 1 - Addr 50 f1 63 7d 3a 16 

RSSI -33 dB Conn - 1 

Device not found...

Discovering...

Device 1 - Addr 50 f1 63 7d 3a 16 

RSSI -33 dB Conn - 1 

Device not found...

Discovering...

Device 1 - Addr 50 f1 63 7d 3a 16 

RSSI -32 dB Conn - 1 

Device not found...

Discovering...

Device 1 - Addr 50 f1 63 7d 3a 16 

RSSI -32 dB Conn - 1 

Device not found...

Discovering...

Device 1 - Addr 50 f1 63 7d 3a 16 

RSSI -32 dB Conn - 1 

Device not found...

Discovering...

Device 1 - Addr 50 f1 63 7d 3a 16 

RSSI -32 dB Conn - 1 

Device not found...

Discovering...

Device 1 - Addr 50 f1 63 7d 3a 16 

后面无限重复上面的


好的,通过log信息看出,主机多连接并没有获取从机的cccd handle将从机notify功能打开,

目前可以模仿主机例程去添加上,在central例程中是有的,

emobile_2022-10-14_16-04-19.png


感谢老师,不过没太明白,要在什么位置添加那段代码,不好意思啊,老师能不能说的更详细一点,感谢感谢


可以发送邮件至邮箱hy@wch.cn,我们这边例程修改后在第一时间给你发送。


好的老师,太感谢了,我不着急,可您时间方便的时候弄就行,谢谢


老师您好,邮件我给您发过去了,有时间的时候麻烦您帮我指导一下,感谢感谢


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