亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mem_task.c

?? atmel at89c51snd1 做mp3的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*C**************************************************************************
* NAME:         mem_task.c
*----------------------------------------------------------------------------
* Copyright (c) 2003 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      snd1c-refd-nf-4_0_3      
* REVISION:     1.23     
*----------------------------------------------------------------------------
* PURPOSE:
* This file contains the memory task and attached routines
*
* NOTES:
* Global Variables:
*   - gl_memory:    bit in bdata space
*   - gl_mem_tick:  byte in data space
*****************************************************************************/

/*_____ I N C L U D E S ____________________________________________________*/

#include "config.h"                         /* system configuration */
#include "modules\display\disp.h"           /* display definition */
#include "modules\file\file.h"              /* file definition */
#include "hard.h"                           /* low level function definition */
#include "mem_task.h"                       /* memory task definition */

/*_____ M A C R O S ________________________________________________________*/


/*_____ D E F I N I T I O N ________________________________________________*/

extern  bdata   bit     gl_memory;          /* selected memory */
extern  bdata   bit     fs_memory;          /* selected file system */
extern  data    Byte    gl_mem_tick;        /* memory tick counter */

Byte    mem_state;                          /* task state */
static  bit     mem_force_mmc;

/*_____ D E C L A R A T I O N ______________________________________________*/



/*F**************************************************************************
* NAME: mem_task_init
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE: 
*   Memory task initialization
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void mem_task_init (void)
{
  mem_state = MEM_INIT;
  mem_force_mmc = FALSE;
  #if MEM_CHIP_TYPE != CHIP_NONE
    gl_memory = MEM_CHIP;             /* select on-board memory */
  #else
    gl_memory = MEM_CARD;             /* select card memory */
  #endif
  #if (MEM_CARD_TYPE != CARD_NONE) && (CARD_SOCKET_NB == 2)
    if (Card_get_socket() == MEM_CARD_2)
    {
      Card_select_next();   
    }
  #endif
}


/*F**************************************************************************
* NAME: mem_task
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE: 
*   Memory management task
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   STATES:
*   MEM_INIT            memories initialization
*   MEM_CHIP_INIT       on-chip memory selection
*   MEM_CHIP_IDLE       on-chip memory is selected
*   MEM_CHIP_ERR_FMT    on-chip memory not formated
*   MEM_CARD_INIT       card initialization
*   MEM_CARD_IDLE       card selected
*   MEM_CARD_ERR        card error
*   MEM_CARD_ERR_FMT    card not formated
*   MEM_CARD_NO_CARD    no card insert
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void mem_task (void)
{
Byte state;

  switch (mem_state)
  {
    case MEM_INIT:
    {
      #if MEM_CHIP_TYPE != CHIP_NONE          /* if chip defined */
        if (Hard_chip_init() == OK)           /* if init chip OK */
        {
          mem_state = MEM_CHIP_INIT;          /* install chip */
        }
        #if MEM_CARD_TYPE != CARD_NONE        /* if card defined */
          if (Hard_card_init() == KO)         /* init card */
          {
            if (mem_state == MEM_INIT)          /* if chip and card init failed */
            {
              print_screen(FATAL_CHIP_SCREEN);    /* fatal error */
              while(1);
            }
          }
          else
          {
            if (mem_state == MEM_INIT)
            {
              mem_state = MEM_CARD_INIT;         /* install card */
            }
          }
        #else
          if (mem_state == MEM_INIT)          /* if chip init failed and no card defined */
          {
            print_screen(FATAL_CHIP_SCREEN);    /* fatal error */
            while(1);
          }
        #endif
      #else
        if (Hard_card_init() == OK)         /* init card */
        {
          mem_state = MEM_CARD_INIT;
        }
      #endif
      break;
    }

    case MEM_CHIP_INIT:
    {
      #if (MEM_CHIP_TYPE == CHIP_NONE)
        mem_state = MEM_CARD_INIT;
        break;
      #else
        Hard_card_uninstall();
        state = Hard_chip_install();
        if (state == MEM_OK)
        {
          gl_memory = MEM_CHIP;                 /* select on-board memory */
          print_mem(SYMB_CHIP);                 /* print on-board symbol */
          #if (MEM_CHIP_FS == FS_FAT_32) || (MEM_CHIP_FS == FS_FAT_12_16)
            fs_memory = FS_MEM_FAT;
          #else
            fs_memory = FS_MEM_ISO;
          #endif
          if (File_mount() == OK)               /* mount file system */
          {
            mem_state = MEM_CHIP_IDLE;
          }
          else
          {
            mem_state = MEM_CHIP_ERR_FMT;       /* memory not formatted */
          }
        }
        break;
      #endif
    }

    case MEM_CHIP_IDLE:
    {
      break;
    }

    case MEM_CHIP_ERR_FMT:
    {
      break;
    }

    case MEM_CARD_INIT:
    {
      #if (MEM_CARD_TYPE == CARD_NONE)
        mem_state = MEM_CHIP_INIT;
        break;
      #else
        state = Hard_card_install(); /* get state of card install */
        if (state == MEM_OK)  /* if card installation OK */
        {
          if (Card_check_presence() == OK) /* always check if a card is present */
          {
            gl_memory = MEM_CARD; /* select card for interface */
            #if CARD_SOCKET_NB == 2    /* if project define two card sockets */
              if (Card_get_socket() == MEM_CARD_1)
              {
                print_mem(SYMB_CARD1);  /* print CARD1 symbol */
              }
              else
              {
                print_mem(SYMB_CARD2);  /* print CARD2 symbol */
              }
            #else                       /* if project define only one socket */
              print_mem(SYMB_CARD);     /* print CARD symbol */
            #endif

            #if (MEM_CARD_FS == FS_FAT_32) || (MEM_CARD_FS == FS_FAT_12_16)
              fs_memory = FS_MEM_FAT;
            #else
              fs_memory = FS_MEM_ISO;
            #endif

            if (File_mount() == OK)     /* Install file system */
            {
              mem_state = MEM_CARD_IDLE;/* if fs OK set card as idle */
            }
            else
            {
              mem_state = MEM_CARD_ERR_FMT;/* fs is not OK */
            }
          }
          else
          {
            mem_state = MEM_CARD_NO_CARD; /* no card in socket */
          }
        }
        else
        {
          if (state == MEM_KO)
          {
            #if CARD_SOCKET_NB == 2              /* if 2 card sources defines */
              if (Card_get_socket() == MEM_CARD_2)
              {
                mem_state = MEM_CHIP_INIT;  /* 2nd card socket -> select on board memory */
              }            
              Card_select_next();                  /* select next card source */
            #else
              #if MEM_CHIP_TYPE != CHIP_NONE
                mem_state = MEM_CHIP_INIT;    /* select on board memory */
              #else
                mem_state = MEM_CARD_NO_CARD;
              #endif
            #endif
          }
        }
        break;
      #endif
    }

    case MEM_CARD_IDLE:
    {
      break;
    }

    case MEM_CARD_ERR:
    {
      #if (MEM_CARD_TYPE != CARD_NONE)
        #if (CARD_SOCKET_NB == 2)   /* if 2x card socket */
          if (mem_force_mmc)
          {
            mem_state = MEM_CARD_INIT;
          }
          else
          {
            Hard_card_uninstall();
            if (Card_get_socket() == MEM_CARD_1)
            {
              mem_state = MEM_CARD_INIT;
            }
            else
            {
              mem_state = MEM_CHIP_INIT;
            }
            Card_select_next();
          }
        #endif
      #endif
      
      break;
    }

    case MEM_CARD_ERR_FMT:
    {
      break;
    }

    case MEM_CARD_NO_CARD:          /* medium is not present or tray (CDR) is open */
    {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区精品性色超碰 | 亚洲第一av色| 亚洲国产激情av| 久久久久久夜精品精品免费| 欧美大片在线观看一区| 欧美精品一区二区精品网| 欧美va日韩va| 2017欧美狠狠色| 久久午夜羞羞影院免费观看| 久久麻豆一区二区| 亚洲国产精品国自产拍av| 国产欧美日韩在线观看| 中文字幕一区二区三区不卡在线| 国产精品色一区二区三区| 国产精品理伦片| 一区二区久久久久| 日韩精品国产精品| 久久99国产精品尤物| 高清国产一区二区| 色美美综合视频| 欧美日高清视频| 精品粉嫩aⅴ一区二区三区四区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 高清在线成人网| 91视频xxxx| 欧美一区二区精品在线| 国产亚洲欧美日韩在线一区| 成人免费小视频| 日韩黄色免费网站| 成人免费毛片a| 欧美精品久久99久久在免费线| 日韩欧美一级二级三级久久久| 久久精品人人做| 亚洲香蕉伊在人在线观| 国产乱人伦偷精品视频免下载| 成人a免费在线看| 337p亚洲精品色噜噜| 久久精品欧美一区二区三区不卡| 1024亚洲合集| 经典一区二区三区| 欧美日韩高清一区| 中文字幕第一区二区| 青青草91视频| 色伊人久久综合中文字幕| 日韩免费福利电影在线观看| 亚洲丝袜另类动漫二区| 韩国v欧美v亚洲v日本v| 91久久精品一区二区| 久久久精品天堂| 亚洲www啪成人一区二区麻豆| 国产91富婆露脸刺激对白| 日韩一区二区三区四区五区六区| 亚洲免费在线看| 国产激情精品久久久第一区二区| 在线电影一区二区三区| 一区二区在线观看视频 | 91丝袜呻吟高潮美腿白嫩在线观看| 777色狠狠一区二区三区| 亚洲欧洲制服丝袜| 丁香婷婷综合网| 久久久久99精品一区| 蜜桃精品视频在线| 在线播放中文一区| 亚洲123区在线观看| 色婷婷香蕉在线一区二区| 国产精品国产自产拍高清av王其| 国产麻豆成人传媒免费观看| 日韩视频123| 日av在线不卡| 欧美xxxxxxxx| 狠狠狠色丁香婷婷综合激情| 欧美一级日韩免费不卡| 日本午夜精品视频在线观看| 欧美日韩夫妻久久| 日韩精品福利网| 欧美精品在线观看一区二区| 亚洲一级电影视频| 欧美三区在线观看| 日韩**一区毛片| 日韩精品中文字幕在线不卡尤物| 日韩电影一区二区三区| 日韩午夜精品视频| 国产一区二区电影| 国产精品丝袜久久久久久app| 成人av在线资源| 中文字幕一区二区三区视频| 色诱亚洲精品久久久久久| 亚洲小少妇裸体bbw| 91精品欧美福利在线观看| 日韩黄色一级片| 国产清纯在线一区二区www| 成人免费视频一区| 亚洲免费观看高清完整版在线观看 | www.色综合.com| 亚洲三级在线播放| 欧美日韩一区二区三区免费看| 蜜桃av一区二区| 久久九九99视频| 日本精品裸体写真集在线观看 | 国产精品一区一区| 成人欧美一区二区三区在线播放| 色婷婷综合激情| 久久国产夜色精品鲁鲁99| 久久久久久久久久久99999| 91丨porny丨国产入口| 午夜欧美电影在线观看| 久久婷婷久久一区二区三区| 99久久免费国产| 美女被吸乳得到大胸91| 中文子幕无线码一区tr| 欧美日韩一区不卡| 国产不卡视频在线播放| 亚洲午夜国产一区99re久久| 久久老女人爱爱| 欧美日韩免费不卡视频一区二区三区| 激情五月播播久久久精品| 亚洲精品ww久久久久久p站| 欧美一区二区福利视频| 97se亚洲国产综合自在线| 日韩精品免费视频人成| 综合激情成人伊人| 精品国免费一区二区三区| 91丨porny丨国产| 国产成人鲁色资源国产91色综 | 国产精品成人一区二区三区夜夜夜| 在线观看www91| 岛国一区二区三区| 欧美aaaaa成人免费观看视频| 综合色中文字幕| ww亚洲ww在线观看国产| 在线综合视频播放| 欧美天天综合网| 一本大道久久a久久精二百| 国产很黄免费观看久久| 免费高清视频精品| 亚洲国产综合色| 亚洲欧美激情一区二区| 日本一区二区三区四区| 欧美电影免费观看高清完整版在线 | 日韩激情一二三区| 亚洲高清免费在线| 一区二区三区在线免费视频| 国产精品乱码一区二三区小蝌蚪| 欧美一区二区网站| 欧美美女喷水视频| 欧美三级在线播放| 日本黄色一区二区| 日本韩国欧美三级| 99视频一区二区| 99热在这里有精品免费| 岛国精品在线观看| av在线播放成人| 91免费在线看| 欧日韩精品视频| 欧美日韩久久久久久| 欧美少妇一区二区| 欧美精品18+| 日韩视频国产视频| 久久久久久久网| 一区二区三区高清| 一区二区三区蜜桃| 亚洲成av人片在线观看| 日本在线观看不卡视频| 精品一区二区在线观看| 国产在线精品一区二区不卡了| 韩国av一区二区三区四区| 国产精品一区二区91| 成人黄色小视频| 色综合久久中文综合久久牛| 欧美日韩你懂得| 欧美一区二区三区四区视频| 26uuu国产日韩综合| 国产精品无圣光一区二区| 亚洲精品视频在线看| 午夜久久久久久| 国产久卡久卡久卡久卡视频精品| 成人91在线观看| 欧美日韩午夜影院| 精品久久久久久久久久久久包黑料 | 中文字幕永久在线不卡| 一区二区三区欧美日| 日韩av中文字幕一区二区| 国产乱子伦一区二区三区国色天香| 成人一级片网址| 欧美久久久久久蜜桃| 久久久久99精品一区| 亚洲永久精品大片| 国内成人自拍视频| 欧美亚日韩国产aⅴ精品中极品| 欧美高清性hdvideosex| 国产区在线观看成人精品| 亚洲r级在线视频| 国产mv日韩mv欧美| 欧美精品 日韩| 亚洲桃色在线一区| 国产一二精品视频| 欧美高清精品3d| 亚洲欧美日韩精品久久久久| 精品无人区卡一卡二卡三乱码免费卡| 91在线观看成人|