Martin1356
发表于 2024-5-8 21:39:22
请问以下程序为什么不能唤醒?时钟6Mhz,触摸按键能正常工作,未触摸TSDAT=31000,触摸约23000,阈值取28000,未开中断。
但进入休眠后无法唤醒,只用TK3,阈值TSTH03H、TSTH03L无论设28000还是大0xff00、小0x0010都无法唤醒。
程序如下:
else{ //熄灯超过10S,开始进入休眠
//进入休眠的触摸按键操作
P_SW2 |= 0x80; //允许访问XFR
// IRC32KCR = 0x80; //启动内部32K晶振.
TSCTRL &= 0x73; //暂停扫描
px=&TSTH03H;
*px=WakeupVal; //设置休眠状态触摸按键唤醒比较阈值,阈值=未触摸值-差值/2
TSCHEN1 = 1<<3; //只启用TK3 P13触摸按键
TSCHEN2 = 0x00;
TSWUTC = 12; //100ms唤醒一次
TSCTRL |= 0x0c; //开始进入睡眠, B7: TSGO,B6: SINGLE,B5: TSWAIT, B4: TSWUCS, B3: TSDCEN, B2: TSWUEN, B1 B0: TSSAMP
//MCU进入掉电模式
PCON |= PD;
//此处是休眠醒来处
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
delay_ms(5);
printf("Wake Up! \r\n");
// TSCTRL &= 0x7f; //暂停扫描
// delay_ms(2);
// TSCTRL &= 0xf3; //关闭触摸门槛
TSCTRL = 0x80; //开始扫描
}
西红柿牛柳
发表于 2024-5-9 10:50:53
{:4_250:}
lhj
发表于 2024-5-23 09:09:58
梁工 发表于 2024-1-5 18:32
我没有汇编的程序。触摸按键涉及一些算法,用汇编会很繁琐,所以我没有写汇编的程序。 ...
梁工你好,有触摸短按,长按,多键复用这些功能的例程吗?
梁工
发表于 2024-5-23 09:59:19
lhj 发表于 2024-5-23 09:09
梁工你好,有触摸短按,长按,多键复用这些功能的例程吗?
没有呢,这些功能都是软件处理的功能,跟普通按键的处理一样的。
Martin1356
发表于 2024-6-14 20:24:22
我怀疑STC8H的触摸按键根本就不能进入睡眠,按照官网的pdf设置根本就换不醒,芯片有BUG吧?
搞了好久放弃了,用掉电唤醒方式,没办法做好1uA待机。
神农鼎
发表于 2024-6-14 20:31:43
触摸按键唤醒,1uA/1个键/1秒唤醒,STC触摸MCU, 唤醒【主时钟停振/省电模式】 - 段码LCD/80mA大电流LED数码管自动刷新显示/RTC实时时钟/触摸按键/低功耗 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
hb_lhw
发表于 2024-7-4 08:55:11
请教一下:我申请了一块触摸演示V1.0板,准备焊接STC8H1K08T试试触摸功能。看了一下原理图,有点不理解如何下载程序?没有找到哪个接口可以下载。
神农鼎
发表于 2024-7-4 09:16:44
跟客服要对应的原理图
hb_lhw
发表于 2024-7-5 09:03:07
原理图有,只是没有下载接口,自己飞了4根线,能实现下载功能。不知道演示板设计的时候,是否忘了。
hb_lhw
发表于 2024-7-23 11:14:39
从网上下了一个演示板的程序,现在触摸按键时,灯能亮灭了。再试试其它功能。