標題: STC8H4K64TL單片機低功耗觸摸喚醒閾值寄存器TSTH11無法設(shè)置 [打印本頁]

作者: littlespider    時間: 2022-9-16 12:48
標題: STC8H4K64TL單片機低功耗觸摸喚醒閾值寄存器TSTH11無法設(shè)置
單片機型號STC8H4K64TL
TSTH11這個寄存器無法寫入任何值,試過一次賦值(TSTH11 = 0x1234),高低字節(jié)分別賦值(TSTH11H = 0x12;TSTH11L = 0x34)都不行,是不是有什么使能開關(guān)需要設(shè)置?數(shù)據(jù)手冊里貌似沒有提到。
奇怪的是只有TSTH11這個寄存器不能寫入,換另一片芯片還是這樣,TSTH00~TSTH10 以及 TSTH12~TSTH15 都可以。
有誰用過這個單片機的這個功能嗎?求解!
作者: coody_sz    時間: 2022-9-16 17:51
這些是擴展的寄存器,訪問前要先設(shè)置 P_SW2 |= 0x80;
作者: littlespider    時間: 2022-9-16 19:20
本帖最后由 littlespider 于 2022-9-17 07:36 編輯
coody_sz 發(fā)表于 2022-9-16 17:51
這些是擴展的寄存器,訪問前要先設(shè)置 P_SW2 |= 0x80;

這個設(shè)置了,跟它類似的寄存器TSTH00等都能寫入,就是單單TSTH11不得
  1. for (i = 0; i < 16; ++i) {
  2.         TI = 0;
  3.         SBUF = tkey_thresholds[i] >> 8;
  4.         while(!TI);
  5.         TI = 0;
  6.         SBUF = tkey_thresholds[i];
  7.         while(!TI);
  8.         TI = 0;
  9.                                        
  10.         th_start[i] = tkey_thresholds[i];                                       
  11. }
  12.                         
  13. for (i = 0; i < 16; ++i) {
  14.         TI = 0;
  15.         SBUF = th_start[i] >> 8;
  16.         while(!TI);
  17.         TI = 0;
  18.         SBUF = th_start[i];
  19.         while(!TI);
  20.         TI = 0;
  21. }
復制代碼


上面代碼運行打印結(jié)果:
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區(qū)域,訪問這些寄存器,需先將P_SW2的BIT7設(shè)置為1,才可正常讀寫
沒有實際使用過這個功能,試試下面的兩種設(shè)置方法。打開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;//關(guān)閉


        P_SW2 |= 0x80;//打開
        TSTH11H=0x12;
        TSTH11L=0x34;
        P_SW2 &= 0x7f;//關(guān)閉




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1