【求助帖】CDC串口和配置掉电模式有冲突吗?
是否配置了CDC虚拟串口,就不能使用低功耗了?
我项目上需要用到RTC时钟,刚好STC新出的有这个功能。 拿到手册看的时候,看遍所有的引脚都没有找到RTC的电源引脚(其他单片机都有RTC单独的供电口)。 在仔细看手册图纸,RTC也是通过VCC供电,单独的2条供电线路汇流到VCC,电池是外部电源端开后继续给MCU供电,通过比较器去判断外部电源是否断开,如果断开就配置为低功耗节能模式........ 说实话,真的有点繁琐,要是能够将其中1个IO口配置为RTC专用的电源该多好啊。
嗯~,既然选了这个芯片那就还是用这个自带的RTC功能吧,先尝试配置为掉电模式,结果调了一下午,始终MCU一直在运行,没有进入省电状态,查看了唤醒的那些条件,也没有使用到。
然后使用排除法,找了聪哥的CDC串口例程改, 在初始化就增加一句 进入掉电模式低功耗也不行。为什么呢,请指点一下。 尝试了必须将CDC初始化删掉了,才能进入低功耗,通过下面例程,如果成功进入低功耗时LED灯只亮4个,如果未进入低功耗会有流水灯的状态。
USB处于工作状态还怎么低功耗,USB可是个耗电大户,48M时钟,PHY,都费电 我在试验箱手册里看到这句话,会不会是电容的电没放光,所以进不了低功耗
DebugLab 发表于 2025-1-14 21:13
USB处于工作状态还怎么低功耗,USB可是个耗电大户,48M时钟,PHY,都费电
那意思是,我如果使用低功耗,无法使用USB-CDC接口了? 正常逻辑应该是进入掉电模式哦,时钟都停止,当然也应该包含新出的USB时钟。但是测试好像不可以。手册也没有找到相关的资料 电子创客 发表于 2025-1-15 10:13
那意思是,我如果使用低功耗,无法使用USB-CDC接口了? 正常逻辑应该是进入掉电模式哦,时钟都停止,当然 ...
可以都停止,USB会断开 找到一部分问题了。
进入低功耗之前要给ENUSB置0才能进入低功耗,否则掉电模式的低功耗进不去。当退出低功耗后,在将ENUSB置1.
但是现在又有一个问题,进入掉电模式后,外部中断0唤醒几次就失效了。只要不使用USB-CDC功能,一切正常。
DebugLab 发表于 2025-1-15 10:32
可以都停止,USB会断开
正常逻辑应该是会自动断开的。 但是测试了不会断开不知道是不是封装的USB的lib文件不完善。
反正进入低功耗之前要ENUSB置0才能进入低功耗,否则掉电模式的低功耗进不去。
当退出低功耗后,在将ENUSB置1. 需要手动增加这2句代码。
电子创客 发表于 2025-1-15 10:35
正常逻辑应该是会自动断开的。 但是测试了不会断开不知道是不是封装的USB的lib文件不完善。
反正进入低 ...
是的,必须这样的,要关闭USB功能,而且IO口模式也要设置为高阻
我一般不用lib,快速验证才会用,建议直接使用源码 戎小晨 发表于 2025-1-15 10:10
我在试验箱手册里看到这句话,会不会是电容的电没放光,所以进不了低功耗
他这个只是指的更改程序的时候用于断电复位更新程序用的,所以需要额外增加一个放电电阻,和我的问题不是一种。我是使用USB-CDC功能后,就没法进入低功耗模式。 目前既然将ENUSB置0后,虽然可以进入低功耗。但是无法唤醒。 感觉厂家提供的USB-CDC配置与低功耗有冲突。 参考这个帖子:
关于STC8H8K64U的USB主动挂起
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=5031
(出处: 国芯技术交流网站)
页:
[1]
2