打印
[蓝牙芯片]

关于CH57x的蓝牙应用问题

[复制链接]
1164|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
StarZY|  楼主 | 2023-4-12 10:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
最近开始接触蓝牙,想做点应用,基于CH57X的Peripheral例程,目前有几个问题想要请教一下各位大佬。
1.关于蓝牙透传的问题
        目前使用BLE调试助手,我在unknown Characteristic的FFE1(应该是Char1)写入一串数据,调用peripheralChar4Notify把这串数据回传,那么主机是否必须点开接收通知数据才能真正接收到数据?主要是希望回传数据能直接显示出来而不是要点一下这个按钮,或者说能否能实现1个通道写入和回传?
2.关于蓝牙连接时间去执行其他任务的问题。
        当我收到通道1的数据后,打算去执行别的任务,我利用tmos_start_event开启了任务事件,这个任务可能会耗费点时间才能return events,这时BLE调试助手提示蓝牙断开了,每次都是这样。是因为任务时间过长导致蓝牙断开吗?
BTW,这个怎么上传图片的,输入图片地址是指本地图片路径吗?

使用特权

评论回复
沙发
WCHTECH75| | 2023-4-12 13:20 | 只看该作者
本帖最后由 WCHTECH75 于 2023-4-12 13:23 编辑

1.BLE调试助手目前不支持同时收和发数据,收和发是两个窗口,所以app需要开启接收数据才能真正接收到数据,可以实现一个通道写入和回传的,可参考下方链接在char1中添加notify:
https://www.cnblogs.com/risc5-ble/p/16866045.html
2.如果断开连接的原因是0x08,那可能是任务占用的时间过长导致,可以适当加大这个参数看看,如设置为500
#define DEFAULT_DESIRED_CONN_TIMEOUT         100
3.图片可以在高级模式中,点击图片选择文件就可以了。

使用特权

评论回复
板凳
StarZY|  楼主 | 2023-4-12 21:36 | 只看该作者
本帖最后由 StarZY 于 2023-4-13 09:57 编辑
WCHTECH75 发表于 2023-4-12 13:20
1.BLE调试助手目前不支持同时收和发数据,收和发是两个窗口,所以app需要开启接收数据才能真正接收到数据, ...

感谢您的回答,这对我有很大的帮助。很抱歉这么晚才回复,因为在尝试的过程中又遇到一些问题,花费了点时间。以下是我一些新的疑问,希望能得到进一步的解答。
主要是问题2,我将您建议的宏定义改到了800(按注释来说应该是8s?)。在这个基础下,我增加了LED和串口打印提示的,但我的事件开始时,打印start,当我的事件执行完,LED会保持常亮并且打印end。根据串口助手的时间戳判断任务事件一般可能占用2s,最多占用4-5s的时长(有可能比这长)。理论来说,灯亮起来和END之后,任务应该时结束了,是没啥问题的,但是某些时候,灯亮起来后的1-2s,蓝牙有断开的情况,串口打印的 disconnected 提示依旧是0x08。
因为每个任务主要是与别的模块进行多次或者长时间的通讯,所以我考虑是不是可以在每次任务开始前或者中途重置一下这个超时,或者说心跳包?让他们保持建立连接,请问您有什么好的建议。其次,是有关BLEanalyzer抓包上位机的。我将Char1设置成了notify的属性,BLE调试助手是一直收到数据,但是抓包上位机在抓取到CONNECT包后,没有看到有这个数据的出现,而是停滞在了CONNECT包这里

2.png (157.54 KB )

2.png

使用特权

评论回复
地板
tpgf| | 2023-5-4 11:17 | 只看该作者
透传也叫串口透传,就是透明传输的意思,透传是一种工作方式,不是一种功能

使用特权

评论回复
5
nawu| | 2023-5-4 11:37 | 只看该作者
蓝牙透传就是透明传输,你通过串口给它数据,它就可以直接发给其它的蓝牙接收设

使用特权

评论回复
6
aoyi| | 2023-5-4 12:15 | 只看该作者
不需要自己增加什么协议,只是将串口连接到MCU的串口上,同时供3.3V的电,并与MCU共地,还有一个BRTS发送控制脚给低电平,就可以完成透明传输了

使用特权

评论回复
7
zljiu| | 2023-5-4 13:15 | 只看该作者
应该是需要点开接收通知数据才能真正接收到数据的

使用特权

评论回复
8
gwsan| | 2023-5-4 14:15 | 只看该作者
目前我们常用的BLE调试助手是哪里开发的啊

使用特权

评论回复
9
2539752622| | 2023-5-4 14:28 | 只看该作者
BLE调试助手好像是WCH官方开发使用的,一般自己开发的话可以参考:
https://www.wch.cn/downloads/WCHBleLib_MultiOS_ZIP.html

使用特权

评论回复
10
tfqi| | 2023-5-4 14:36 | 只看该作者
第二个问题是不是应该提高蓝牙连接任务的优先级呢

使用特权

评论回复
11
2539752622| | 2023-5-5 11:06 | 只看该作者
可以尝试拉大连接间隔,确保执行的任务小于连接间隔的一半大小,一般是不会出现断开的。
断开的原因是执行的任务时间过长,导致了蓝牙本身的任务来不及执行,因此断连。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

0

粉丝