找回密码
 立即注册
楼主: sky999

怎么降低功耗延长电池用时 | 应该使用 主时钟停振的/省电模式

[复制链接]

46

主题

108

回帖

604

积分

高级会员

积分
604
发表于 2024-3-19 13:40:16 | 显示全部楼层
梁*** 发表于 2024-3-19 12:54
单看这段初始化代码没啥问题。还要注意睡眠前处理,还要有中断函数,请参考我的程序。

        //        TSCHEN1 = 0x ...

改成这样后,确实是进入睡眠,电流也只有0.05mA,但是触摸却无法唤醒
  1.                         TSCTRL = (1<<3) + (1<<2) + 0;
  2.                         IE2 |= 0x80;                //允许触摸按键中断
  3.                        
  4.                         Delay1ms(10);
  5.                        
  6.                         PCON = 0X02;                           
  7.                         _nop_();
  8.                         _nop_();
  9.                         _nop_();
  10.                         Delay1ms(10);
  11.                         TSCTRL        =        0X8F;
复制代码


点评

唤醒后不需要延时,直接启动全速扫描。  详情 回复 发表于 2024-3-19 13:44
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2025-05-03 23:41:15

73

主题

5884

回帖

1万

积分

超级版主

积分
12087
发表于 2024-3-19 13:44:21 | 显示全部楼层
sky*** 发表于 2024-3-19 13:40
改成这样后,确实是进入睡眠,电流也只有0.05mA,但是触摸却无法唤醒

唤醒后不需要延时,直接启动全速扫描。
回复 支持 反对

使用道具 举报 送花

46

主题

108

回帖

604

积分

高级会员

积分
604
发表于 2024-3-19 14:16:12 | 显示全部楼层
梁*** 发表于 2024-3-19 13:44
唤醒后不需要延时,直接启动全速扫描。

上面这个程序做了几次改动,还是无法退出睡眠模式,
TSCTRL = (1<<3) + (1<<2) + 0;这个代码其实是TSCTRL=0X0C;你们写成这样真不好懂,
但是改成TSCTRL=0X8C就可以退出唤醒了,可是还是0.83mA,头大了
回复 支持 反对

使用道具 举报 送花

46

主题

108

回帖

604

积分

高级会员

积分
604
发表于 2024-3-19 14:45:34 | 显示全部楼层
梁*** 发表于 2024-3-19 13:44
唤醒后不需要延时,直接启动全速扫描。

现在是偶尔0.05mA,偶尔0.83mA,为什么会这样?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:32
  • 最近打卡:2025-04-30 10:59:33

25

主题

1154

回帖

2391

积分

超级版主

积分
2391
发表于 2024-3-19 16:26:14 | 显示全部楼层
   应该是程序问题,建议参考官方范例

STC8H-8C-电源管理-空闲模式-睡眠-唤醒相关程序(1).rar

37.33 KB, 下载次数: 79

STC官网:https://www.stcai.com/
QQ:2593903262
微信号:18106296598
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-4 15:20 , Processed in 0.115970 second(s), 81 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表