电子创客 发表于 2025-1-14 18:26:06

【求助帖】CDC串口和配置掉电模式有冲突吗?

      
      是否配置了CDC虚拟串口,就不能使用低功耗了?

      我项目上需要用到RTC时钟,刚好STC新出的有这个功能。 拿到手册看的时候,看遍所有的引脚都没有找到RTC的电源引脚(其他单片机都有RTC单独的供电口)。 在仔细看手册图纸,RTC也是通过VCC供电,单独的2条供电线路汇流到VCC,电池是外部电源端开后继续给MCU供电,通过比较器去判断外部电源是否断开,如果断开就配置为低功耗节能模式........   说实话,真的有点繁琐,要是能够将其中1个IO口配置为RTC专用的电源该多好啊。
   
         嗯~,既然选了这个芯片那就还是用这个自带的RTC功能吧,先尝试配置为掉电模式,结果调了一下午,始终MCU一直在运行,没有进入省电状态,查看了唤醒的那些条件,也没有使用到。
      然后使用排除法,找了聪哥的CDC串口例程改,    在初始化就增加一句 进入掉电模式低功耗也不行。为什么呢,请指点一下。    尝试了必须将CDC初始化删掉了,才能进入低功耗,通过下面例程,如果成功进入低功耗时LED灯只亮4个,如果未进入低功耗会有流水灯的状态。

   

DebugLab 发表于 2025-1-14 21:13:25

USB处于工作状态还怎么低功耗,USB可是个耗电大户,48M时钟,PHY,都费电

晨露 发表于 2025-1-15 10:10:29

我在试验箱手册里看到这句话,会不会是电容的电没放光,所以进不了低功耗


电子创客 发表于 2025-1-15 10:13:34

DebugLab 发表于 2025-1-14 21:13
USB处于工作状态还怎么低功耗,USB可是个耗电大户,48M时钟,PHY,都费电

那意思是,我如果使用低功耗,无法使用USB-CDC接口了? 正常逻辑应该是进入掉电模式哦,时钟都停止,当然也应该包含新出的USB时钟。但是测试好像不可以。手册也没有找到相关的资料

DebugLab 发表于 2025-1-15 10:32:47

电子创客 发表于 2025-1-15 10:13
那意思是,我如果使用低功耗,无法使用USB-CDC接口了? 正常逻辑应该是进入掉电模式哦,时钟都停止,当然 ...

可以都停止,USB会断开

电子创客 发表于 2025-1-15 10:33:28

找到一部分问题了。

进入低功耗之前要给ENUSB置0才能进入低功耗,否则掉电模式的低功耗进不去。当退出低功耗后,在将ENUSB置1.

但是现在又有一个问题,进入掉电模式后,外部中断0唤醒几次就失效了。只要不使用USB-CDC功能,一切正常。



电子创客 发表于 2025-1-15 10:35:43

DebugLab 发表于 2025-1-15 10:32
可以都停止,USB会断开
正常逻辑应该是会自动断开的。 但是测试了不会断开不知道是不是封装的USB的lib文件不完善。

反正进入低功耗之前要ENUSB置0才能进入低功耗,否则掉电模式的低功耗进不去。
当退出低功耗后,在将ENUSB置1. 需要手动增加这2句代码。

DebugLab 发表于 2025-1-15 10:39:37

电子创客 发表于 2025-1-15 10:35
正常逻辑应该是会自动断开的。 但是测试了不会断开不知道是不是封装的USB的lib文件不完善。

反正进入低 ...

是的,必须这样的,要关闭USB功能,而且IO口模式也要设置为高阻
我一般不用lib,快速验证才会用,建议直接使用源码

电子创客 发表于 2025-1-15 13:28:05

戎小晨 发表于 2025-1-15 10:10
我在试验箱手册里看到这句话,会不会是电容的电没放光,所以进不了低功耗




他这个只是指的更改程序的时候用于断电复位更新程序用的,所以需要额外增加一个放电电阻,和我的问题不是一种。我是使用USB-CDC功能后,就没法进入低功耗模式。 目前既然将ENUSB置0后,虽然可以进入低功耗。但是无法唤醒。 感觉厂家提供的USB-CDC配置与低功耗有冲突。

乘风飞扬 发表于 2025-1-15 13:56:43

参考这个帖子:
关于STC8H8K64U的USB主动挂起
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=5031
(出处: 国芯技术交流网站)
页: [1] 2
查看完整版本: 【求助帖】CDC串口和配置掉电模式有冲突吗?