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

📄 haldevchk.lst

📁 威望公司MP3 + USB MCU 的参考软件
💻 LST
字号:
C51 COMPILER V8.01   HALDEVCHK                                                             04/17/2008 09:54:47 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE HALDEVCHK
OBJECT MODULE PLACED IN .\Debug\haldevchk.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main\haldevchk.c LARGE OPTIMIZE(9,SIZE) REGFILE(.\Debug\VA4010_SDK_V2.ORC) 
                    -BROWSE NOINTPROMOTE INCDIR(.\common;.\e2prom;.\file;.\fmtx;.\ir;.\keyboard;.\lcm;.\led;.\main;.\matrixkey;.\mp3ctrl;.\sd
                    -;.\usbhost;.\include;.\lib) DEBUG OBJECTEXTEND PRINT(.\Debug\haldevchk.lst) OBJECT(.\Debug\haldevchk.obj)

line level    source

   1          /****************************************************************
   2          *                      Viaon Technology (Suzhou) Co.,Ltd
   3          *
   4          *    Copyright 2007, Viaon Technology (Suzhou) Co.,Ltd,Suzhou,China
   5          *                    All rights reserved.
   6          *
   7          *
   8          * Filename:             haldevchk.c
   9          *
  10          * Programmer:           Greg 
  11          *
  12          * Created:              1/2/2008
  13          *
  14          * Description:          public functions 
  15          *              
  16          *        
  17          * Change History (most recent first):   2008.1.2
  18          ****************************************************************/
  19          
  20          #include "haldevchk.h"
  21          #include "libdrive.h"
  22          
  23          /*static*/ BYTE data bDEVFlag;
  24          /*static*/ BYTE DEVAttach[2] = {USB_ATTACHED, SD_ATTACHED};
  25          
  26          #ifdef ENABLE_DEVICE_DETECT
  27          
  28          
  29          static BYTE DEVDisattach[2] = {USB_DISATTACHED, SD_DISATTACHED};
  30          static BYTE FSMSta[2] = {FSMSTATE_USB, FSMSTATE_SD};
  31          
  32          //For DEV_CHECK_ANOTHER
  33          //Return FALSE, if another device is disattached.
  34          //Return TRUE, if another device is attached.
  35          //For DEV_CHECK_CUR
  36          //Return FALSE, if current device is disattached.
  37          //Return TRUE, if current device is not disattached.
  38          BYTE halDevCheck(BYTE bDev, BYTE bFlag) //Check if the other device is attached/disattached.
  39          {
  40   1              BYTE data bRet;
  41   1      
  42   1              if(bFlag == DEV_CHECK_ANOTHER){
  43   2                      if((bDev==USB_DISK)){ //Current device is USB, check SD
  44   3                              bRet = halSDCheck();
  45   3                              //UartOutText("current USB,check SD\r\n");
  46   3                      }else{//Current device is SD, so check USB
  47   3                              //UartOutText("current SD,check USB\r\n");
  48   3                              bRet = halUsbCheck();
  49   3                      }
  50   2                      
  51   2              }else{  //DEV_CHECK_CUR
  52   2                      if((bDev==USB_DISK)){ //Current device is USB
  53   3                              bRet = halUsbChkReg();
C51 COMPILER V8.01   HALDEVCHK                                                             04/17/2008 09:54:47 PAGE 2   

  54   3                      }else{//Current device is SD
  55   3                              bRet = halSDCheck();
  56   3                      }
  57   2      
  58   2              }
  59   1      
  60   1              return bRet;
  61   1      }
  62          
  63          
  64          //This function can only be called when device is attached and enumerated.
  65          void halDevPnP()
  66          {
  67   1              DRIVE *drv = DriveGet();
  68   1      
  69   1              if(bgDevChkGap < DEV_CHECK_GAP){
  70   2                      return;
  71   2              }
  72   1              bgDevChkGap = 0;        
  73   1      
  74   1              if(mp3status == MP3STATUS_PAUSE){ //Check current device
  75   2      #if 1   
  76   2                      if(halDevCheck(drv->DevID, DEV_CHECK_CUR) == FALSE){
  77   3                              UartOutText("Current device removed\r\n");
  78   3                              FSMState = FSMSTATE_USB;
  79   3                              //FSMState = FSMSta[drv->DevID];
  80   3                      }
  81   2      #endif          
  82   2              }
  83   1              #if 1
  84   1              else{
  85   2                      //Chech the dis-attachment of another device
  86   2                      if(halDevCheck(drv->DevID, DEV_CHECK_ANOTHER) == FALSE){ //Check the another device according to the cur
             -rent device
  87   3                              //UartOutText("-I-: Another Dev Disattached \r\n");
  88   3                              bDEVFlag = DEVDisattach[drv->DevID];
  89   3                      }
  90   2                      //Check the attachment of another device after dis-attachment
  91   2                      if((bDEVFlag == DEVDisattach[drv->DevID])&&(halDevCheck(drv->DevID, DEV_CHECK_ANOTHER) == TRUE)){
  92   3                              FSMState = FSMSta[drv->DevID];
  93   3                              //bDEVFlag = DEVAttach[drv->DevID];;
  94   3                              UartOutText("-I-: Another Dev attached \r\n");
  95   3                              //drv = NULL;
  96   3                      }       
  97   2              }       
  98   1           #endif
  99   1              return;
 100   1      }
 101          
 102          #endif


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    157    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      6       4
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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