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

📄 ap_message2.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   022F  2E1D              LD      L,29
    217                  }
   \   0231  C31103            JP      LWRD ?0076
   \   0234            ?0052:
    218                  #ifdef EAR_PROTECT
    219                      if(g_autoswitch_time != 0 && g_autoswitch_counter == g_autoswitch_time) //自动关机
   \   0234  2A0200            LD      HL,(g_autoswitch_time)
   \   0237  7D                LD      A,L
   \   0238  B4                OR      H
   \   0239  2811              JR      Z,?0056
   \   023B  2A0200            LD      HL,(g_autoswitch_time)
   \   023E  ED4B0300          LD      BC,(g_autoswitch_counter)
   \   0242  A7                AND     A
   \   0243  ED42              SBC     HL,BC
   \   0245  2005              JR      NZ,?0056
   \   0247            ?0058:
   \   0247            ?0057:
   \   0247            ?0055:
    220                      {
    221                          return AP_MSG_FORCE_STANDBY;
   \   0247  2E1F              LD      L,31
    222                      }
   \   0249  C31103            JP      LWRD ?0076
   \   024C            ?0056:
    223                  #endif
    224          
    225                  if( (g_rtc_counter % 16) == 0 )
   \   024C  2A0C00            LD      HL,(g_rtc_counter)
   \   024F  7D                LD      A,L
   \   0250  E60F              AND     15
   \   0252  6F                LD      L,A
   \   0253  2600              LD      H,0
   \   0255  7D                LD      A,L
   \   0256  B4                OR      H
   \   0257  2005              JR      NZ,?0060
   \   0259            ?0059:
    226                  {
    227          
    228                      return AP_MSG_WAIT_TIMEOUT;    //8 sec timeout
   \   0259  2E1E              LD      L,30
    229                  }
   \   025B  C31103            JP      LWRD ?0076
   \   025E            ?0060:
    230          
    231                  if(key == MSG_RTC2HZ) key = AP_MSG_RTC;
   \   025E  DD46FE            LD      B,(IX-2)
   \   0261  05                DEC     B
   \   0262  E26C02            JP      PO,?0062
   \   0265            ?0061:
   \   0265  DD36FE1C          LD      (IX-2),28
   \   0269  C30E03            JP      LWRD ?0075
   \   026C            ?0062:
    232                  else key = AP_MSG_CHARGING;
   \   026C  DD36FE1B          LD      (IX-2),27
   \   0270            ?0063:
    233          
    234                  break;
   \   0270  C30E03            JP      LWRD ?0075
   \   0273            ?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;
   \   0273  210000            LD      HL,0
   \   0276  220C00            LD      (g_rtc_counter),HL
    240                  key_count = 1;
   \   0279  210100            LD      HL,1
   \   027C  220F00            LD      (?0012),HL
    241                  key = AP_MSG_USB_PLUGIN;
   \   027F  DD36FE1A          LD      (IX-2),26
    242          
    243                  //开背光
    244                  if(g_light_time != 0)
   \   0283  3A0500            LD      A,(g_light_time)
   \   0286  B7                OR      A
   \   0287  CA0E03            JP      Z,?0075
   \   028A            ?0065:
    245                  {
    246                      Lightmodeset(TRUE);//开关背光(TRUE: 开, FALSE:关)
   \   028A  1E01              LD      E,1
   \   028C  3E00              LD      A,BYTE3 Lightmodeset
   \   028E  210000            LD      HL,LWRD Lightmodeset
   \   0291  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    247                      g_light_flag = FALSE;
   \   0294  AF                XOR     A
   \   0295  320E00            LD      (g_light_flag),A
   \   0298            ?0066:
    248                  }
    249                  break;
   \   0298  1874              JR      ?0075
   \   029A            ?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;
   \   029A  DD36FE8B          LD      (IX-2),139
    255                  break;
   \   029E  186E              JR      ?0075
   \   02A0            ?0068:
    256          //#endif
    257          
    258              case MSG_USB_UNSTICK:    //ap 不识别的消息
    259              case Msg_KeyNull:        //没有按键
    260                  key = AP_KEY_NULL;
   \   02A0  DD36FE00          LD      (IX-2),0
    261                  break;
   \   02A4  1868              JR      ?0075
   \   02A6            ?0069:
    262          
    263                          case Msg_KeyUnHold:
    264                  key = AP_MSG_UNLOCK;
   \   02A6  DD36FE18          LD      (IX-2),24
    265                  g_rtc_counter = 0;
   \   02AA  210000            LD      HL,0
   \   02AD  220C00            LD      (g_rtc_counter),HL
    266                  key_count = 1;
   \   02B0  210100            LD      HL,1
   \   02B3  220F00            LD      (?0012),HL
    267                  key_value = key;
   \   02B6  DD46FE            LD      B,(IX-2)
   \   02B9  78                LD      A,B
   \   02BA  321100            LD      (?0013),A
    268                  break;
   \   02BD  184F              JR      ?0075
   \   02BF            ?0070:
    269          
    270              case Msg_KeyHold:
    271                  //lock 后还会有up消息
    272                  key = AP_MSG_LOCK;
   \   02BF  DD36FE19          LD      (IX-2),25
    273                  g_rtc_counter = 0;
   \   02C3  210000            LD      HL,0
   \   02C6  220C00            LD      (g_rtc_counter),HL
    274                  key_count = 1;
   \   02C9  210100            LD      HL,1
   \   02CC  220F00            LD      (?0012),HL
    275                  key_value = key;
   \   02CF  DD46FE            LD      B,(IX-2)
   \   02D2  78                LD      A,B
   \   02D3  321100            LD      (?0013),A
    276                  break;
   \   02D6  1836              JR      ?0075
   \   02D8            ?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;
   \   02D8  210000            LD      HL,0
   \   02DB  220C00            LD      (g_rtc_counter),HL
    289                  key_count = 1;
   \   02DE  210100            LD      HL,1
   \   02E1  220F00            LD      (?0012),HL
    290                  key_value = key;
   \   02E4  DD46FE            LD      B,(IX-2)
   \   02E7  78                LD      A,B
   \   02E8  321100            LD      (?0013),A
    291          
    292                  //开背光
    293                  if (!g_light_flag)
   \   02EB  3A0E00            LD      A,(g_light_flag)
   \   02EE  B7                OR      A
   \   02EF  2010              JR      NZ,?0073
   \   02F1            ?0072:
    294                  {
    295                      //如背灯没开,不理按键
    296                      key_count = 0;
   \   02F1  210000            LD      HL,0
   \   02F4  220F00            LD      (?0012),HL
    297                      g_rtc_counter = 0;
   \   02F7  210000            LD      HL,0
   \   02FA  220C00            LD      (g_rtc_counter),HL
    298                      return NULL;
   \   02FD  2E00              LD      L,0
    299                  }
   \   02FF  1810              JR      ?0076
   \   0301            ?0073:
    300          
    301                  if(g_comval.KeyTone)        //key tone add by mzh 2007.3.14
   \   0301  3A1D00            LD      A,(g_comval+29)
   \   0304  B7                OR      A
   \   0305  2807              JR      Z,?0075
   \   0307            ?0074:
    302                      sKY_Beep(g_comval.KeyTone);
   \   0307  ED5B1D00          LD      DE,(g_comval+29)
   \   030B  CD0000            CALL    LWRD sKY_Beep
   \   030E            ?0075:
   \   030E            ?0036:
    303              } //switch()
    304              return key;
   \   030E  DD6EFE            LD      L,(IX-2)
    305          }
   \   0311            ?0076:
   \   0311  DDF9              LD      SP,IX
   \   0313  DDE1              POP     IX
   \   0315  C1                POP     BC
   \   0316  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0319            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          {
   \   0319  DDE5              PUSH    IX
   \   031B  DD210000          LD      IX,0
   \   031F  DD39              ADD     IX,SP
   \   0321  D5                PUSH    DE
    322             // g_ap_event |= event;
    323          }
   \   0322  DDF9              LD      SP,IX
   \   0324  DDE1              POP     IX
   \   0326  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0329            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          {
   \   0329  DDE5              PUSH    IX
   \   032B  DD210000          LD      IX,0
   \   032F  DD39              ADD     IX,SP
   \   0331  C5                PUSH    BC
   \   0332  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          }
   \   0333  DDF9              LD      SP,IX
   \   0335  DDE1              POP     IX
   \   0337  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   033A            ap_sleep:
    356          
    357          /*
    358          ********************************************************************************
    359          * Description : 清除事件发生标志
    360          *
    361          * Arguments   : event, 事件集合
    362          *
    363          * Returns     :
    364          *
    365          * Notes       :
    366          *
    367          ********************************************************************************
    368          */

⌨️ 快捷键说明

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