sky999
发表于 2024-3-19 13:40:16
梁工 发表于 2024-3-19 12:54
单看这段初始化代码没啥问题。还要注意睡眠前处理,还要有中断函数,请参考我的程序。
// TSCHEN1 = 0x ...
改成这样后,确实是进入睡眠,电流也只有0.05mA,但是触摸却无法唤醒
TSCTRL = (1<<3) + (1<<2) + 0;
IE2 |= 0x80; //允许触摸按键中断
Delay1ms(10);
PCON = 0X02;
_nop_();
_nop_();
_nop_();
Delay1ms(10);
TSCTRL = 0X8F;
梁工
发表于 2024-3-19 13:44:21
sky999 发表于 2024-3-19 13:40
改成这样后,确实是进入睡眠,电流也只有0.05mA,但是触摸却无法唤醒
唤醒后不需要延时,直接启动全速扫描。
sky999
发表于 2024-3-19 14:16:12
梁工 发表于 2024-3-19 13:44
唤醒后不需要延时,直接启动全速扫描。
上面这个程序做了几次改动,还是无法退出睡眠模式,
TSCTRL = (1<<3) + (1<<2) + 0;这个代码其实是TSCTRL=0X0C;你们写成这样真不好懂,
但是改成TSCTRL=0X8C就可以退出唤醒了,可是还是0.83mA,头大了
sky999
发表于 2024-3-19 14:45:34
梁工 发表于 2024-3-19 13:44
唤醒后不需要延时,直接启动全速扫描。
现在是偶尔0.05mA,偶尔0.83mA,为什么会这样?
AI-32位8051
发表于 2024-3-19 16:26:14
应该是程序问题,建议参考官方范例{:handshake:}