标题:
STC8H4K64TL单片机低功耗触摸唤醒阈值寄存器TSTH11无法设置
[打印本页]
作者:
littlespider
时间:
2022-9-16 12:48
标题:
STC8H4K64TL单片机低功耗触摸唤醒阈值寄存器TSTH11无法设置
单片机型号STC8H4K64TL
TSTH11这个寄存器无法写入任何值,试过一次赋值(TSTH11 = 0x1234),高低字节分别赋值(TSTH11H = 0x12;TSTH11L = 0x34)都不行,是不是有什么使能开关需要设置?数据手册里貌似没有提到。
奇怪的是只有TSTH11这个寄存器不能写入,换另一片芯片还是这样,TSTH00~TSTH10 以及 TSTH12~TSTH15 都可以。
有谁用过这个单片机的这个功能吗?求解!
作者:
coody_sz
时间:
2022-9-16 17:51
这些是扩展的寄存器,访问前要先设置 P_SW2 |= 0x80;
作者:
littlespider
时间:
2022-9-16 19:20
本帖最后由 littlespider 于 2022-9-17 07:36 编辑
coody_sz 发表于 2022-9-16 17:51
这些是扩展的寄存器,访问前要先设置 P_SW2 |= 0x80;
这个设置了,跟它类似的寄存器TSTH00等都能写入,就是单单TSTH11不得
for (i = 0; i < 16; ++i) {
TI = 0;
SBUF = tkey_thresholds[i] >> 8;
while(!TI);
TI = 0;
SBUF = tkey_thresholds[i];
while(!TI);
TI = 0;
th_start[i] = tkey_thresholds[i];
}
for (i = 0; i < 16; ++i) {
TI = 0;
SBUF = th_start[i] >> 8;
while(!TI);
TI = 0;
SBUF = th_start[i];
while(!TI);
TI = 0;
}
复制代码
上面代码运行打印结果:
26 29 38 28 41 D8 4E 3F 31 A2 32 23 33 7F 21 5D 23 41 2C 91 23 53 2A 20 FF FF FF FF FF FF FF FF
26 29 38 28 41 D8 4E 3F 31 A2 32 23 33 7F 21 5D 23 41 2C 91 23 53 00 00 FF FF FF FF FF FF FF FF
作者:
wulin
时间:
2022-9-16 20:32
这个特殊功能寄存器位于扩展RAM区域,访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写
没有实际使用过这个功能,试试下面的两种设置方法。打开STC8H.H头文件可以看到扩展的寄存器。
#define TSTH11 (*(unsigned int volatile xdata *)0xfb66)
#define TSTH11H (*(unsigned char volatile xdata *)0xfb66)
#define TSTH11L (*(unsigned char volatile xdata *)0xfb67)
P_SW2 |= 0x80;//打开
TSTH11=0x1234;
P_SW2 &= 0x7f;//关闭
P_SW2 |= 0x80;//打开
TSTH11H=0x12;
TSTH11L=0x34;
P_SW2 &= 0x7f;//关闭
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1