|
您好,在使用触摸按键唤醒STOP模式时,可以唤醒功能正常,但是有的时候触摸不到1s就唤醒了,有的时候2s,唤醒时间时长时短不相等,而且明显感觉差别很大,可能是哪里的问题?
配置相关代码
TSCTRL &= 0x73; //暂停扫描
TSTH00 = TK_zero[0] - T_KeyPress[0]/2; //设置唤醒门槛值 = 0点(未触摸)值 - 触摸变化值/2
TSTH01 = TK_zero[1] - T_KeyPress[1]/2; //设置唤醒门槛值 = 0点(未触摸)值 - 触摸变化值/2
TSTH02 = TK_zero[2] - T_KeyPress[2]/2; //设置唤醒门槛值 = 0点(未触摸)值 - 触摸变化值/2
TSTH03 = TK_zero[3] - T_KeyPress[3]/2; //设置唤醒门槛值 = 0点(未触摸)值 - 触摸变化值/2
TSTH04 = TK_zero[4] - T_KeyPress[4]/2; //设置唤醒门槛值 = 0点(未触摸)值 - 触摸变化值/2
TSCHEN1 = 0x1f; //TK00~TK07 (低功耗模式建议只保留一个触摸按键做唤醒用,其它按键的触摸功能禁用以降低功耗)
TSCHEN2 = 0x00; //TK08~TK15
TSWUTC = 250; //唤醒频率 = F32K/(32*8*TSWUTC[7:0])这里等于32000/(32*8*250)=0.5Hz, 理论应该是触摸2s唤醒??
//还是TSWUTC设置的是扫描频率,如果扫描周期刚开始触摸,唤醒时间就长点;如果扫码周期快结束触摸,唤醒时间就短点?????
IRC32KCR = 0x80; //启动内部32K IRC
while (!(IRC32KCR & 1)); //等待时钟稳定
TSCTRL = (1<<3) + (1<<2) + 0; //关闭触摸模块, 允许16位数字比较器, 允许低功耗唤醒。
|
|