ch582的低功耗打开后,蓝牙可以连上但是又会自己断掉,而且串口的数据也无法打印出来了,关掉低功耗模式后又可以正常工作
1、打开官方的从机例程,宏定义使用内部32K,开启睡眠;
2、在默认连接间隔基础上,适当增大最小和最大连接间隔,给与任务更多处理时间。
这里提供一份连接间隔参数说明:
https://www.cnblogs.com/gscw/p/16117392.html
有外部晶振的话不直接用外部晶振吗? 这里使用内部晶振?是外部晶振不需要吗
在使用582当作从机使用时,可以使用外部低频也可选择内部低频,这边让使用内部低频的原因是可能有的用户并没有贴外部低频晶振。
睡眠终端产品在批量生产的时候是否可以直接用内部晶振,这样可以省掉外部32768晶振的成本
我试了下还是不行,我的功能是这样的,通过定时模式下的RTC中断去采集温度数据,然后存储在flash中,温度采集功能是通过串口模拟的时序驱动18b20,这些都放在了主函数while循环里,HAL_SLEEP不为TRUE的时候,功能都能实现,HAL_SLEEP设置为TRUE的时候,程序就卡在了串口采集数据那块,我想问一下,低功耗下是不是和串口通信有冲突呢
低功耗下会和串口通信有冲突。
睡眠时,串口发送时会被唤醒,是正常的;但是串口在接收时处于低功耗状态,所以没有办法接收到数据。
这里你需要在串口接收数据之前,先通过GPIO将串口唤醒,然后再进行接收数据。
这里提供一份串口切换GPIO唤醒操作的参考:
https://www.cnblogs.com/debugdabiaoge/p/15981175.html