WCH沁恒单片机
直播中

偶是糕富帅

11年用户 788经验值
私信 关注
[问答]

CH573 BLE低功耗休眠后广播会停止,芯片被唤醒时才会重新广播怎么解决?

我在使用CH573的时候遇到一个比较奇怪的现象:
1、休眠后广播会停止,芯片被唤醒时才会重新广播。
2、peripheral如果处于已连接状态,休眠后,从空口数据来看,master一直在发数据,slave没有响应了,导致timeout断开,但ch573收不到断开的回调,直到被唤醒时才收到。
以下是我的代码,基本参考的是demo程序,使用的是LSE,CLK_OSC32K为0,HAL_SLEEP为1,DEBUG为1。有大佬遇到过吗,希望能给些建议,万分感谢!

  
  
  

回帖(3)

殷夏

2022-7-27 11:04:59
将HAL_SLEEP设置为1,那么就打开了睡眠,但这个睡眠不是说一直睡眠,由我们协议栈去控制,空闲时就会睡眠,从而降低平均功耗,睡眠时是不广播的。
举报

王建

2022-7-27 11:05:09
但我这边实际的现象是休眠之后再也不广播了(sniffer抓不到广播包了),直到通过GPIO唤醒后才会重新广播,有没有可能是LSE没有起振导致?
举报

张婷婷

2022-7-27 11:05:14
32K是一直都振的,32M会在休眠的时候停止。
广播是定时任务,通过RTC唤醒芯片的,你可以监控下,睡眠开启后有没有定时醒(比如在)

这个里面加个简单的打印看看
举报

更多回帖

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