[蓝牙芯片]

CH573F主机和从机连接的问题

[复制链接]
286|7
手机看帖
扫描二维码
随时随地手机跟帖
sure丶守护|  楼主 | 2022-11-23 15:32 | 显示全部楼层 |阅读模式
想学习下主机和从机连接并实现通讯,看了这个博客
2.png
然后在学习中遇到了这个问题,主从机连接上了,但是主机获取不到从机服务和特征。
55518637dc9791c1b0.png
因为我想实现个用串口将蓝牙通讯数据打印出来的功能,所以对例程做了修改,添加了串口输出的功能,难道是被我动了哪

使用特权

评论回复
sure丶守护|  楼主 | 2022-11-23 15:56 | 显示全部楼层
从机的程序就是EVT里的BLE_UART例程

使用特权

评论回复
WCHTECH75| | 2022-11-23 17:30 | 显示全部楼层
可以参考此链接的主机枚举服务的流程,看看主机填写的UUID是否和从机对应,
https://www.cnblogs.com/risc5-ble/p/16788059.html

使用特权

评论回复
sure丶守护|  楼主 | 2022-11-24 18:29 | 显示全部楼层
WCHTECH75 发表于 2022-11-23 17:30
可以参考此链接的主机枚举服务的流程,看看主机填写的UUID是否和从机对应,
https://www.cnblogs.com/risc5 ...

问题一:
已经成功获取到centralCharHdl和centralCCCDHdl。
接着调用tmos_start_task(centralTaskId, START_READ_OR_WRITE_EVT, DEFAULT_READ_OR_WRITE_DELAY);
发送数据,打印提示“Write Error”,而且从机串口没有数据输出。

问题二:
想接收从机发过来的数据,该怎么操作呢


从机的程序还是EVT里的BLE_UART例程

使用特权

评论回复
sure丶守护|  楼主 | 2022-11-24 18:46 | 显示全部楼层
sure丶守护 发表于 2022-11-24 18:29
问题一:
已经成功获取到centralCharHdl和centralCCCDHdl。
接着调用tmos_start_task(centralTaskId, STA ...

获取到的centralCharHdl值是22,centralCCCDHdl值是24

使用特权

评论回复
WCHTECH75| | 2022-11-25 12:51 | 显示全部楼层
问题一:此处获取到的centralCharHdl为0x22是错误的,并不是write的handle,所以才会Write Error,此时发送失败,从机端的确是收不到数据的,正确的centralCharHdl为0x26,可以留个邮箱给你发送一个主机枚举服务的例程。
问题二:此处找到的centralCCCDHdl为0x24是正确的,所以应该可以开启notify通道,BLE UART例程的逻辑是将串口3收到的数据发送给蓝牙主机,可以用ch340通过串口3发送数据给单片机进行测试,也可以用户自己调用notify函数进行发送。

使用特权

评论回复
sure丶守护|  楼主 | 2022-11-25 14:58 | 显示全部楼层
WCHTECH75 发表于 2022-11-25 12:51
问题一:此处获取到的centralCharHdl为0x22是错误的,并不是write的handle,所以才会Write Error,此时发送 ...

谢谢,864865895@QQ.COM

使用特权

评论回复
评论
WCHTECH75 2022-11-28 13:28 回复TA
已发送,注意查收。 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则