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

📄 ap_message2.lst

📁 5807收音机模块用于炬力平台
💻 LST
📖 第 1 页 / 共 4 页
字号:
    210          
    211                  if( (g_rtc_counter % 16) == 0 )
   \   01B2  2A0800            LD      HL,(g_rtc_counter)
   \   01B5  7D                LD      A,L
   \   01B6  E60F              AND     15
   \   01B8  2005              JR      NZ,?0059
   \   01BA            ?0058:
    212                  {
    213          
    214                      return AP_MSG_WAIT_TIMEOUT;    //8 sec timeout
   \   01BA  2E1E              LD      L,30
    215                  }
   \   01BC  C36F02            JP      LWRD ?0090
   \   01BF            ?0059:
    216          
    217                  if(key == MSG_RTC2HZ) key = AP_MSG_RTC; 
   \   01BF  43                LD      B,E
   \   01C0  05                DEC     B
   \   01C1  E2C801            JP      PO,?0061
   \   01C4            ?0060:
   \   01C4  DD36FE1C          LD      (IX-2),28
   \   01C8            ?0061:
    218                   
    219                  if(g_comval.BatteryType == BATT_TYPE_LITHIUM)                  //
   \   01C8  3A0F00            LD      A,(g_comval+15)
   \   01CB  3D                DEC     A
   \   01CC  3D                DEC     A
   \   01CD  C26C02            JP      NZ,?0089
   \   01D0            ?0062:
    220                  {
    221                      if((input8(0x8e) & 0x80) != 0)
   \   01D0  DB8E              IN      A,(142)
   \   01D2  CB7F              BIT     7,A
   \   01D4  CA6C02            JP      Z,?0089
   \   01D7            ?0064:
    222                      {    
    223                          if(g_charge_counter==60)
   \   01D7  3A0A00            LD      A,(g_charge_counter)
   \   01DA  FE3C              CP      60
   \   01DC  200A              JR      NZ,?0067
   \   01DE            ?0066:
    224                          { 
    225                              sKY_ChargeGetandSet();           //usb插上时检测充电状态,每5秒钟检测一次
   \   01DE  CD0000            CALL    LWRD sKY_ChargeGetandSet
    226                              g_charge_counter = 0; 
   \   01E1  AF                XOR     A
   \   01E2  320A00            LD      (g_charge_counter),A
    227                          }
    228                          else
   \   01E5  C36C02            JP      LWRD ?0089
   \   01E8            ?0067:
    229                          {
    230                          g_charge_counter++;
   \   01E8  210A00            LD      HL,g_charge_counter
   \   01EB  34                INC     (HL)
   \   01EC            ?0068:
   \   01EC            ?0065:
   \   01EC            ?0063:
    231                          }
    232                      }
    233                   }             
    234                  break;
   \   01EC  187E              JR      ?0089
   \   01EE            ?0069:
    235          
    236          
    237              case MSG_USB_STICK:        //usb plugin, 等同按键 
    238                  if((g_comval.BatteryType != BATT_TYPE_LITHIUM)&&((input8(0x57)&0x02) == 0))  //干电池方案插入充电器
   \   01EE  3A0F00            LD      A,(g_comval+15)
   \   01F1  3D                DEC     A
   \   01F2  3D                DEC     A
   \   01F3  2806              JR      Z,?0071
   \   01F5  DB57              IN      A,(87)
   \   01F7  CB4F              BIT     1,A
   \   01F9  2827              JR      Z,?0080
   \   01FB            ?0073:
   \   01FB            ?0072:
   \   01FB            ?0070:
    239                  {
    240                          key = AP_KEY_NULL;
    241                  }
    242               
    243                  else
   \   01FB            ?0071:
    244                  {
    245                  key = AP_MSG_USB_PLUGIN;
    246                  g_rtc_counter = 0;
   \   01FB  210000            LD      HL,0
   \   01FE  220800            LD      (g_rtc_counter),HL
    247                  key_count = 1;        
   \   0201  23                INC     HL
   \   0202  220B00            LD      (?0006),HL
   \   0205  DD36FE1A          LD      (IX-2),26
   \   0209            ?0074:
    248                  //开背光
    249                  //if(g_light_time != 0) sKY_OpenBacklight();
    250                  }
    251                  
    252                  break;
   \   0209  1861              JR      ?0089
   \   020B            ?0075:
    253          
    254          //#ifndef DEBUG
    255          
    256              case MSG_LOW_POWER:    //low power, nmi 0.98v
    257          //        DUMP("low power", 0);
    258          //        if((input8(0x8f)&0x3f)<0x12)       //当Li电池电压小于3.3V(0xa0) ,ap层才去响应低电消息,客户可修改此值
    259          //        {
    260                  if(g_comval.BatteryType == BATT_TYPE_LITHIUM)                  //
   \   020B  3A0F00            LD      A,(g_comval+15)
   \   020E  3D                DEC     A
   \   020F  3D                DEC     A
   \   0210  205A              JR      NZ,?0089
   \   0212            ?0076:
    261                     key = AP_MSG_LOW_POWER;
   \   0212  DD36FE1F          LD      (IX-2),31
   \   0216            ?0077:
    262          //        }
    263                  break;
   \   0216  1854              JR      ?0089
   \   0218            ?0078:
    264            
    265              case MSG_USB_UNSTICK:    //ap 不识别的消息 
    266                  if(g_comval.BatteryType == BATT_TYPE_LITHIUM)                  //
   \   0218  3A0F00            LD      A,(g_comval+15)
   \   021B  3D                DEC     A
   \   021C  3D                DEC     A
   \   021D  2003              JR      NZ,?0080
   \   021F            ?0079:
    267                   sKY_ChargeGetandSet();  //usb拔出时一定要检测一次充电状态  
   \   021F  CD0000            CALL    LWRD sKY_ChargeGetandSet
   \   0222            ?0080:
   \   0222            ?0081:
    268          
    269              case Msg_KeyNull:        //没有按键
    270              
    271              case Msg_KeyUnHold:
    272                  key = AP_KEY_NULL;
   \   0222  DD36FE00          LD      (IX-2),0
    273                  break;
   \   0226  1844              JR      ?0089
   \   0228            ?0082:
    274          
    275          
    276              case Msg_KeyHold:
    277                  //lock 后还会有up消息
    278                  key = AP_MSG_LOCK;
    279                  g_rtc_counter = 0;
   \   0228  210000            LD      HL,0
   \   022B  220800            LD      (g_rtc_counter),HL
    280                  key_count = 1;
   \   022E  23                INC     HL
   \   022F  220B00            LD      (?0006),HL
    281                  key_value = key;
   \   0232  3E19              LD      A,25
   \   0234  320D00            LD      (?0007),A
   \   0237  DD77FE            LD      (IX-2),A
    282          
    283                  break;
   \   023A  1830              JR      ?0089
   \   023C            ?0083:
    284          
    285              case MSG_SD_IN:/*插卡状态*/
    286                  key = AP_MSG_SD_IN;
   \   023C  DD36FE38          LD      (IX-2),56
    287                  break;
   \   0240  182A              JR      ?0089
   \   0242            ?0084:
    288          
    289              case MSG_SD_OUT:/*拨卡状态*/
    290                  key = AP_MSG_SD_OUT;
   \   0242  DD36FE37          LD      (IX-2),55
    291                  break;
   \   0246  1824              JR      ?0089
   \   0248            ?0085:
    292          
    293              default:            //新的按键  
    294                  g_rtc_counter = 0;
   \   0248  210000            LD      HL,0
   \   024B  220800            LD      (g_rtc_counter),HL
    295                  key_count = 1;
   \   024E  23                INC     HL
   \   024F  220B00            LD      (?0006),HL
    296                  key_value = key;
   \   0252  7B                LD      A,E
   \   0253  320D00            LD      (?0007),A
    297          
    298                  //开背光
    299                  if(g_light_time != 0) sKY_OpenBacklight();  
   \   0256  3A0300            LD      A,(g_light_time)
   \   0259  B7                OR      A
   \   025A  2803              JR      Z,?0087
   \   025C            ?0086:
   \   025C  CD0000            CALL    LWRD sKY_OpenBacklight
   \   025F            ?0087:
    300                      
    301                  if(g_comval.KeyTone)        //key tone add by mzh 2007.3.14
   \   025F  3A1D00            LD      A,(g_comval+29)
   \   0262  B7                OR      A
   \   0263  2807              JR      Z,?0089
   \   0265            ?0088:
    302                            sKY_Beep(g_comval.KeyTone);                
   \   0265  ED5B1D00          LD      DE,(g_comval+29)
   \   0269  CD0000            CALL    LWRD sKY_Beep
   \   026C            ?0089:
   \   026C            ?0030:
    303          
    304              } //switch()
    305                            
    306              return key;
   \   026C  DD6EFE            LD      L,(IX-2)
    307          }
   \   026F            ?0090:
   \   026F  DDF9              LD      SP,IX
   \   0271  DDE1              POP     IX
   \   0273  C1                POP     BC
   \   0274  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0277            ap_sleep:
    308          
    309          /*
    310          ********************************************************************************
    311          * Description : 设置事件发生标志
    312          *
    313          * Arguments   : event, 事件集合
    314          *
    315          * Returns     :
    316          *
    317          * Notes       :
    318          *
    319          ********************************************************************************
    320          */
    321          //void ap_set_event(WORD event)
    322          //{
    323          //    g_ap_event |= event;
    324          //}
    325          
    326          /*
    327          ********************************************************************************
    328          * Description : 检测事件是否发生
    329          *
    330          * Arguments   : event, 需要检测的事件集合
    331                  condition:
    332                      AP_EVENT_ALL:    所有事件发生,返回event,否则返回0
    333                      AP_EVENT_ANY:    任意事件发生,返回event,否则返回0
    334          * Returns     : event 按照 condition 指定的条件发生,返回系统事件的集合
    335                  不满足条件, 返回0
    336          *
    337          * Notes       :
    338          *
    339          ********************************************************************************
    340          */
    341          //WORD ap_get_event(WORD event, WORD condition)
    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          //    

⌨️ 快捷键说明

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