⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ap_message2.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   01D2  C38702            JP      LWRD ?0076
   \   01D5            ?0052:
    218                  #ifdef EAR_PROTECT
    219                      if(g_autoswitch_time != 0 && g_autoswitch_counter == g_autoswitch_time) //自动关机
   \   01D5  2A0200            LD      HL,(g_autoswitch_time)
   \   01D8  7D                LD      A,L
   \   01D9  B4                OR      H
   \   01DA  280D              JR      Z,?0056
   \   01DC  ED4B0300          LD      BC,(g_autoswitch_counter)
   \   01E0  ED42              SBC     HL,BC
   \   01E2  2005              JR      NZ,?0056
   \   01E4            ?0058:
   \   01E4            ?0057:
   \   01E4            ?0055:
    220                      {
    221                          return AP_MSG_FORCE_STANDBY;
   \   01E4            ?0108:
   \   01E4  2E1F              LD      L,31
    222                      }
   \   01E6  C38702            JP      LWRD ?0076
   \   01E9            ?0056:
    223                  #endif
    224          
    225                  if( (g_rtc_counter % 16) == 0 )
   \   01E9  2A0C00            LD      HL,(g_rtc_counter)
   \   01EC  7D                LD      A,L
   \   01ED  E60F              AND     15
   \   01EF  2005              JR      NZ,?0060
   \   01F1            ?0059:
    226                  {
    227          
    228                      return AP_MSG_WAIT_TIMEOUT;    //8 sec timeout
   \   01F1  2E1E              LD      L,30
    229                  }
   \   01F3  C38702            JP      LWRD ?0076
   \   01F6            ?0060:
    230          
    231                  if(key == MSG_RTC2HZ) key = AP_MSG_RTC;
   \   01F6  DD46FE            LD      B,(IX-2)
   \   01F9  05                DEC     B
   \   01FA  E20402            JP      PO,?0062
   \   01FD            ?0061:
   \   01FD  DD36FE1C          LD      (IX-2),28
   \   0201  C38402            JP      LWRD ?0075
   \   0204            ?0062:
    232                  else key = AP_MSG_CHARGING;
   \   0204  DD36FE1B          LD      (IX-2),27
   \   0208            ?0063:
    233          
    234                  break;
   \   0208  187A              JR      ?0075
   \   020A            ?0064:
    235          
    236          
    237              case MSG_USB_STICK:        //usb plugin, 等同按键
    238                  //output8(0xf4,input8(0x0f4)&0xF7);    //set gio_c3 to low to cut battery
    239                  g_rtc_counter = 0;
   \   020A  210000            LD      HL,0
   \   020D  220C00            LD      (g_rtc_counter),HL
    240                  key_count = 1;
   \   0210  23                INC     HL
   \   0211  220F00            LD      (?0012),HL
    241                  key = AP_MSG_USB_PLUGIN;
   \   0214  DD36FE1A          LD      (IX-2),26
    242          
    243                  //开背光
    244                  if(g_light_time != 0)
   \   0218  3A0500            LD      A,(g_light_time)
   \   021B  B7                OR      A
   \   021C  2866              JR      Z,?0075
   \   021E            ?0065:
    245                  {
    246                      Lightmodeset(TRUE);//开关背光(TRUE: 开, FALSE:关)
   \   021E  5D                LD      E,L
   \   021F  3E00              LD      A,BYTE3 Lightmodeset
   \   0221  210000            LD      HL,LWRD Lightmodeset
   \   0224  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    247                      g_light_flag = FALSE;
   \   0227  AF                XOR     A
   \   0228  320E00            LD      (g_light_flag),A
   \   022B            ?0066:
    248                  }
    249                  break;
   \   022B  1857              JR      ?0075
   \   022D            ?0067:
    250          
    251          //#ifndef DEBUG
    252              case MSG_LOW_LOPOWER:    //low power, nmi 0.98v
    253                  DUMP("low power", 0);
    254                  key = AP_MSG_LOW_POWER_MY;
   \   022D  DD36FE8B          LD      (IX-2),139
    255                  break;
   \   0231  1851              JR      ?0075
   \   0233            ?0068:
    256          //#endif
    257          
    258              case MSG_USB_UNSTICK:    //ap 不识别的消息
    259              case Msg_KeyNull:        //没有按键
    260                  key = AP_KEY_NULL;
   \   0233  DD36FE00          LD      (IX-2),0
    261                  break;
   \   0237  184B              JR      ?0075
   \   0239            ?0069:
    262          
    263                          case Msg_KeyUnHold:
    264                  key = AP_MSG_UNLOCK;
    265                  g_rtc_counter = 0;
   \   0239  210000            LD      HL,0
   \   023C  220C00            LD      (g_rtc_counter),HL
    266                  key_count = 1;
   \   023F  23                INC     HL
   \   0240  220F00            LD      (?0012),HL
    267                  key_value = key;
   \   0243  3E18              LD      A,24
   \   0245  180C              JR      ?0109
    268                  break;
   \   0247            ?0070:
    269          
    270              case Msg_KeyHold:
    271                  //lock 后还会有up消息
    272                  key = AP_MSG_LOCK;
    273                  g_rtc_counter = 0;
   \   0247  210000            LD      HL,0
   \   024A  220C00            LD      (g_rtc_counter),HL
    274                  key_count = 1;
   \   024D  23                INC     HL
   \   024E  220F00            LD      (?0012),HL
    275                  key_value = key;
   \   0251  3E19              LD      A,25
   \   0253            ?0109:
   \   0253  321100            LD      (?0013),A
   \   0256  DD77FE            LD      (IX-2),A
    276                  break;
   \   0259  1829              JR      ?0075
   \   025B            ?0071:
    277          
    278          //
    279          //    case MSG_SD_IN:/*插卡状态*/
    280          //        key = AP_MSG_SD_IN;
    281          //        break;
    282          //
    283          //    case MSG_SD_OUT:/*拨卡状态*/
    284          //        key = AP_MSG_SD_OUT;
    285          //        break;
    286          //
    287              default:            //新的按键
    288                  g_rtc_counter = 0;
   \   025B  210000            LD      HL,0
   \   025E  220C00            LD      (g_rtc_counter),HL
    289                  key_count = 1;
   \   0261  23                INC     HL
   \   0262  220F00            LD      (?0012),HL
    290                  key_value = key;
   \   0265  7B                LD      A,E
   \   0266  321100            LD      (?0013),A
    291          
    292                  //开背光
    293                  if (!g_light_flag)
   \   0269  3A0E00            LD      A,(g_light_flag)
   \   026C  B7                OR      A
   \   026D  2008              JR      NZ,?0073
   \   026F            ?0072:
    294                  {
    295                      //如背灯没开,不理按键
    296                      key_count = 0;
   \   026F  2B                DEC     HL
   \   0270  220F00            LD      (?0012),HL
    297                      g_rtc_counter = 0;
    298                      return NULL;
   \   0273            ?0107:
   \   0273  2E00              LD      L,0
    299                  }
   \   0275  1810              JR      ?0076
   \   0277            ?0073:
    300          
    301                  if(g_comval.KeyTone)        //key tone add by mzh 2007.3.14
   \   0277  3A1D00            LD      A,(g_comval+29)
   \   027A  B7                OR      A
   \   027B  2807              JR      Z,?0075
   \   027D            ?0074:
    302                      sKY_Beep(g_comval.KeyTone);
   \   027D  ED5B1D00          LD      DE,(g_comval+29)
   \   0281  CD0000            CALL    LWRD sKY_Beep
   \   0284            ?0075:
   \   0284            ?0036:
    303              } //switch()
    304              return key;
   \   0284  DD6EFE            LD      L,(IX-2)
    305          }
   \   0287            ?0076:
   \   0287  DDF9              LD      SP,IX
   \   0289  DDE1              POP     IX
   \   028B  C1                POP     BC
   \   028C  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   028F            ap_set_event:
    306          
    307          
    308          /*
    309          ********************************************************************************
    310          * Description : 设置事件发生标志
    311          *
    312          * Arguments   : event, 事件集合
    313          *
    314          * Returns     :
    315          *
    316          * Notes       :
    317          *
    318          ********************************************************************************
    319          */
    320          void ap_set_event(WORD event)
    321          {
   \   028F  D5                PUSH    DE
    322             // g_ap_event |= event;
    323          }
   \   0290  E1                POP     HL
   \   0291  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0294            ap_get_event:
    324          
    325          /*
    326          ********************************************************************************
    327          * Description : 检测事件是否发生
    328          *
    329          * Arguments   : event, 需要检测的事件集合
    330                  condition:
    331                      AP_EVENT_ALL:    所有事件发生,返回event,否则返回0
    332                      AP_EVENT_ANY:    任意事件发生,返回event,否则返回0
    333          * Returns     : event 按照 condition 指定的条件发生,返回系统事件的集合
    334                  不满足条件, 返回0
    335          *
    336          * Notes       :
    337          *
    338          ********************************************************************************
    339          */
    340          WORD ap_get_event(WORD event, WORD condition)
    341          {
   \   0294  C5                PUSH    BC
   \   0295  D5                PUSH    DE
    342          /*
    343              if(condition == AP_EVENT_ALL)
    344              {
    345                  if( (g_ap_event & event) == event) return g_ap_event;
    346                  else return 0;
    347              }
    348              else if(condition == AP_EVENT_ANY)
    349              {
    350                  if( (g_ap_event & event) != 0) return g_ap_event;
    351                  else return 0;
    352              }
    353              else return 0;
    354          */
    355          }
   \   0296  E1                POP     HL
   \   0297  E1                POP     HL
   \   0298  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   029B            ap_sleep:
    356          
    357          /*
    358          ********************************************************************************
    359          * Description : 清除事件发生标志
    360          *
    361          * Arguments   : event, 事件集合
    362          *
    363          * Returns     :
    364          *
    365          * Notes       :
    366          *
    367          ********************************************************************************
    368          */
    369          //void ap_del_event(WORD event)
    370          //{
    371          //    g_ap_event &= (~event);
    372          //}
    373          

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -