WCH沁恒单片机
直播中

邓长生

10年用户 898经验值
擅长:可编程逻辑
私信 关注
[问答]

请问CH582广播和连接间隔的优先级可以调高吗?

我们现在用CH582+一个SPI的摄像头通讯,通讯的时候不能停直到读完摄像头的图片数据,整个时间差不多要2S多,蓝牙要么收不到广播或蓝牙断开连接,手机要一直跟CH582通讯的
  

回帖(5)

石天才

2022-8-9 09:27:30
你的这个问题可能是蓝牙的连接间隔过小导致的,由于其间隔过小,而你的任务过长,导致蓝牙本身任务受到阻碍被打断



因此,
1、拆分你的任务,缩短你的任务长
2、调整连接间隔,这里所提供的是连接间隔的范围(间隔时间:6~3200,单位是1.25ms,所以实际的连接间隔时间是6*1.25~3200*1.25ms),你可以将它适当增大一些,然后观察一下打印的信息,查看具体连接间隔。

举报

郑玉兰

2022-8-9 09:27:36
因为发送的是图片数据,数据有点大,如果改小连接间隔是不是发送就会慢一点了,读数据是要连续的,拆分了图片数据就会不完整,如果用定时器中断去处理蓝牙事件可以吗
举报

胡小娟

2022-8-9 09:27:42
不可以
这里使用单芯片就不合适了,建议使用两个芯片,一个作为MCU,一个使用BLE功能,通过①芯片MCU读取图片数据,然后通过②芯片BLE发送
举报

刘丽艳

2022-8-9 09:27:47
你好, 我也遇到类似问题。

// Minimum connection interval (units of 1.25ms, 20=25ms)
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL     20


//最大可以调整为3200=4000ms
// Maximum connection interval (units of 1.25ms, 100=125ms)
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL     100


这两个宏只是定义了一个参考范围,但是 在哪里具体定义 实际的连接间隔时间的呢?
还是说 通过调整这两个宏,有ble库,或者主机来决定最终的连接间隔呢?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分