STM32L152 进入STOP模式,WAKEUP by RTC唤醒后ADC读取数值不变了
如题所示,使用STOP低功耗模式,功耗下来了,STOP模式每次最大只能32秒左右(RTC寄存器满了),所以就循环多次(5分钟就是10次左右)。启动时读取一次ADC数据(电池电压比如是4.10V),进入STOP,RTC唤醒后读出来的ADC没有变化(依然是4.10V)。以前没有进入STOP模式,连续读取是OK的。
请问大虾,这大概是什么问题?
在STOP前先关闭ADC功能,在再次醒来后重新初始化ADC功能试试 可以使用rtc的arlarm功能,休眠时间可以任意长
stop模式与ADC没任何关系,你不关ADC也可以进stop
看看是不是ADC的时钟没有使能
freeelectron 发表于 2018-8-25 16:59
可以使用rtc的arlarm功能,休眠时间可以任意长
stop模式与ADC没任何关系,你不关ADC也可以进stop
看看是不 ...
不进入STOP模式,循环读出来的ADC一直是差不多准确的,应该不是ADC时钟问题;
RTC 的 alarm功能我去尝试一下,谢谢。 zhao.zhao 发表于 2018-8-25 16:25
在STOP前先关闭ADC功能,在再次醒来后重新初始化ADC功能试试
进入STOP模式,时钟都被系统关闭了,只有RTC是活的。不过,我再尝试打开ADC功能看看效果。奇怪的是,这个值一直不变呢。 如果参数不变,尝试修改看看,是不是和寄存器限制有关 feixiang20 发表于 2018-8-25 23:01
如果参数不变,尝试修改看看,是不是和寄存器限制有关
没有启用STOP模式之前,都是用delay来延时,每次读取ADC都没有问题。
开启PA13 SWDIO和PA14 SWDCLK 允许调试,进入读取ADC函数,发现了ERROR=1,如图所示。该怎么办?
不能沉下去啊
页:
[1]