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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mem_task.c

?? 單片機(jī)學(xué)習(xí)資料主要講述MP3開發(fā) 適合初學(xué)者進(jìn)行開發(fā)學(xué)習(xí)
?? C
?? 第 1 頁 / 共 2 頁
字號:
      #if (MEM_CARD_TYPE != CARD_NONE)
        if (Card_check_presence() == OK)   /* if we detect a medium */
          mem_state = MEM_CARD_INIT;  /* init this medium */
      #endif
      break;
    }

  }
}


/*F**************************************************************************
* NAME: mem_status
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   memory status:  MEM_BUSY:   install in progress
*                   MEM_READY:  install done
*                   MEM_FORMAT: install done but memory not formated
*----------------------------------------------------------------------------
* PURPOSE: 
*   Return memory status
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
Byte mem_status (void)
{
  #if (MEM_CARD_TYPE != CARD_NONE)
    if ((gl_memory == MEM_CARD) && (mem_state != MEM_CARD_INIT) && (mem_state != MEM_CHIP_INIT))
    {  /* don't check card presence when mem_state = CARD_INIT. This can modify init sequence */
      if (Card_check_presence() == KO) /* if no card present */
      {
        return MEM_NO_CARD;
      }
    }

    if (mem_state == MEM_CARD_NO_CARD)  /* else if we detect a new medium */
      return MEM_BUSY;
  #endif

  if ((mem_state == MEM_CHIP_IDLE) ||
      (mem_state == MEM_CARD_IDLE))
  {
    return (MEM_READY);
  }
  if ((mem_state == MEM_CHIP_ERR_FMT) ||
      (mem_state == MEM_CARD_ERR_FMT))
  {
    return (MEM_FORMAT);
  }
  else
  {
    return (MEM_BUSY);
  }
}


/*F**************************************************************************
* NAME: mem_check_card
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   OK: card present or on-board memory
*   KO: card not present
*----------------------------------------------------------------------------
* PURPOSE: 
*   Start card status checking
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
bit mem_check_card (void)
{
  #if (MEM_CARD_TYPE != CARD_NONE)
    switch (mem_state)
    {
      case MEM_CARD_IDLE:
      case MEM_CARD_ERR_FMT:
          #if CARD_SOCKET_NB == 1
            if (Card_check_presence() == KO)
              mem_state = MEM_CARD_NO_CARD;
          #endif
      case MEM_CARD_NO_CARD:
      {
        return (Card_check_presence());
      }
      default:
      {
        return OK;
      }
    }
  #else
    return OK;
  #endif
}


/*F**************************************************************************
* NAME: mem_card_select
*----------------------------------------------------------------------------
* PARAMS:
*   force:  - TRUE:  continue selecting MMC1 in case of error
*           - FALSE: select next device in case of error
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Mass storage memory selection
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   Call from mass storage routines:
*     - when Test_Unit returns not ready
*     - when exiting download mode for mounting new FAT
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void mem_card_select (bit force)
{
  #if (MEM_CARD_TYPE != CARD_NONE)

    mem_force_mmc = force;
    mem_state = MEM_CARD_INIT;
    #if CARD_SOCKET_NB == 2
      if (Card_get_socket() == MEM_CARD_2)
      {
        Card_select_next();   
      }
    #endif
  #else
    if (force); /* avoid warning message */
  #endif
}


/*F**************************************************************************
* NAME: mem_select_next
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Select next on-board or card memory
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void mem_select_next (void)
{
  switch (mem_state)
  {
    case MEM_CHIP_IDLE:
    case MEM_CHIP_ERR_FMT:
    {
      #if MEM_CARD_TYPE != CARD_NONE
        mem_state = MEM_CARD_INIT;
      #endif
      break;
    }
    case MEM_CARD_INIT:
    case MEM_CARD_IDLE:
    case MEM_CARD_ERR_FMT:
    {
      #if (MEM_CARD_TYPE != CARD_NONE)

        #if CARD_SOCKET_NB == 2
          if (Card_get_socket() == MEM_CARD_2)
          {
            #if MEM_CHIP_TYPE != CHIP_NONE
              mem_state = MEM_CHIP_INIT;
            #else
              mem_state = MEM_CARD_INIT;
            #endif
          }
          else
          {
            mem_state = MEM_CARD_INIT;
          }
          Card_select_next();                  /* select next card source */          
          break;
        #else
            #if MEM_CHIP_TYPE != CHIP_NONE
              mem_state = MEM_CHIP_INIT;
            #endif
          break;
        #endif
      #endif
    }
  }
}


/*F**************************************************************************
* NAME: mem_select_format
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   File system mount status
*----------------------------------------------------------------------------
* PURPOSE:
*   Re-mount memory after format or mass storage update 
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
bit mem_select_format (void)
{
  gl_mem_tick = MEM_WRITE_TIME;

  switch (mem_state)
  {
    case MEM_CHIP_ERR_FMT:
    case MEM_CHIP_IDLE:
    {
      #if (MEM_CHIP_TYPE != CHIP_NONE)
        while (gl_mem_tick != MEM_TIME_OUT)
        {
          if (File_mount() == OK)             /* check if format ok */
          {
            mem_state = MEM_CHIP_IDLE;
            return OK;
          }
        }
      #endif
      return KO;
    }

    case MEM_CARD_ERR_FMT:
    case MEM_CARD_IDLE:
    {
      #if (MEM_CARD_TYPE != CARD_NONE)
        while (gl_mem_tick != MEM_TIME_OUT)
        {
          if (File_mount() == OK)             /* check if format ok */
          {
            mem_state = MEM_CARD_IDLE;
            return OK;
          }
        }
      #endif
      return KO;
    }

    default:
    {
      return KO;
    }
  }
}


/*F**************************************************************************
* NAME: mem_load_card
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   
*----------------------------------------------------------------------------
* PURPOSE:
*   Load a card medium (like Compact disk) 
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void mem_load_card(void)
{
#if (MEM_CARD_TYPE != CARD_NONE)
  mem_state = MEM_CARD_INIT;
#endif
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜视频免费看| 91在线看国产| 最新国产精品久久精品| 欧美日韩一区三区| 国产自产2019最新不卡| 亚洲精品免费播放| 欧美高清在线一区| 欧美成va人片在线观看| 91麻豆成人久久精品二区三区| 美日韩一区二区三区| 一区二区在线电影| 国产精品系列在线| 欧美成人福利视频| 欧美福利电影网| 91激情五月电影| 成人看片黄a免费看在线| 激情图片小说一区| 亚洲成av人片一区二区| 中文字幕一区二区三区乱码在线| 精品国产91久久久久久久妲己| 欧美日韩精品久久久| 91亚洲男人天堂| 福利一区福利二区| 国产精品一区专区| 麻豆成人久久精品二区三区红 | 亚洲一区在线观看免费| 亚洲国产精品成人综合| 欧美大片拔萝卜| 欧美日韩高清不卡| 欧美性生活大片视频| 91天堂素人约啪| 丁香一区二区三区| 国产高清成人在线| 国产精品69久久久久水密桃| 国产一区二区看久久| 久久超碰97中文字幕| 蜜臀av一区二区在线观看| 日韩激情视频网站| 日本美女一区二区三区视频| 视频一区视频二区中文| 日本va欧美va瓶| 丝袜美腿亚洲一区| 七七婷婷婷婷精品国产| 久久99精品国产麻豆不卡| 免费成人你懂的| 精品亚洲国内自在自线福利| 国产一区视频导航| 国产一区二区三区国产| 国产精品一区二区91| 成人永久aaa| av网站一区二区三区| 一本到不卡精品视频在线观看| www.欧美色图| 色综合久久88色综合天天免费| 日本韩国精品一区二区在线观看| 欧洲精品在线观看| 9191国产精品| 2021国产精品久久精品| 2023国产精品| 综合在线观看色| 一区二区三区日韩| 日韩不卡免费视频| 国产伦精品一区二区三区免费 | 欧美日韩一区二区三区在线| 欧美日本一区二区在线观看| 日韩欧美综合在线| 欧美韩日一区二区三区四区| 亚洲免费在线播放| 午夜国产精品一区| 国内成人免费视频| 91丨九色丨蝌蚪丨老版| 51久久夜色精品国产麻豆| 亚洲精品一线二线三线| 中文字幕日本乱码精品影院| 亚洲第一福利一区| 国产做a爰片久久毛片| 99精品欧美一区二区三区小说| 欧美日韩在线播放三区四区| 日韩免费在线观看| 日韩一区在线播放| 蜜臀av一级做a爰片久久| 成人一道本在线| 欧美人妖巨大在线| 国产精品色哟哟| 日韩福利电影在线| 成人一区二区在线观看| 欧美三级电影精品| 国产亚洲精品bt天堂精选| 亚洲国产精品一区二区www在线| 极品瑜伽女神91| 欧美午夜片在线看| 国产女主播在线一区二区| 亚洲一区二区欧美激情| 国产精品99久久久久久久vr| 欧美色图激情小说| 中文字幕av一区二区三区| 婷婷成人激情在线网| 成人中文字幕在线| 欧美一区二区视频网站| 亚洲女与黑人做爰| 国产激情91久久精品导航| 欧美日韩1234| 亚洲乱码精品一二三四区日韩在线| 韩国精品一区二区| 欧美片在线播放| 亚洲人成伊人成综合网小说| 国产一区二区在线观看视频| 欧美日韩亚洲综合| 成人免费在线观看入口| 国产精品亚洲专一区二区三区 | 午夜电影一区二区三区| 色综合天天狠狠| 日本一区二区三区四区| 久久er99热精品一区二区| 欧美人伦禁忌dvd放荡欲情| 亚洲嫩草精品久久| 波多野结衣中文字幕一区| 久久免费视频一区| 韩国欧美国产1区| 日韩欧美国产系列| 日韩电影一区二区三区| 欧美色成人综合| 亚洲精品欧美专区| 色94色欧美sute亚洲线路一久| 亚洲国产精品v| 粉嫩av一区二区三区| 久久久久久久免费视频了| 国产综合色产在线精品| www国产精品av| 激情综合一区二区三区| 欧美电影免费观看完整版| 日韩精品福利网| 911精品国产一区二区在线| 亚洲一区二区影院| 欧美丝袜自拍制服另类| 亚洲国产一区二区在线播放| 色婷婷av一区二区三区软件| 亚洲美女淫视频| 一本久久综合亚洲鲁鲁五月天| 中文字幕日本不卡| 91福利视频在线| 亚洲国产精品久久久久秋霞影院| 在线看日本不卡| 亚洲国产精品一区二区尤物区| 欧美日韩在线播放一区| 首页国产欧美日韩丝袜| 欧美一区二区三区免费在线看 | 91黄色激情网站| 亚洲一区在线播放| 欧美精品自拍偷拍动漫精品| 视频一区在线视频| 欧美精品一区男女天堂| 国产成人亚洲综合a∨猫咪| 国产女人水真多18毛片18精品视频| 国产成人鲁色资源国产91色综| 国产色综合久久| 成人av在线播放网站| 亚洲美女区一区| 欧美唯美清纯偷拍| 麻豆精品国产91久久久久久| 精品盗摄一区二区三区| 成人在线视频一区二区| 亚洲黄色在线视频| 欧美一级国产精品| 国精产品一区一区三区mba桃花| 国产女人18毛片水真多成人如厕 | 波多野结衣中文字幕一区| 亚洲黄色免费电影| 4438亚洲最大| 国产91精品欧美| 怡红院av一区二区三区| 91精品欧美一区二区三区综合在| 国产成人99久久亚洲综合精品| 亚洲美女视频一区| 91精品国产全国免费观看| 国产精品一级片在线观看| 亚洲影视资源网| 337p粉嫩大胆噜噜噜噜噜91av| 91在线播放网址| 乱中年女人伦av一区二区| 国产精品乱人伦一区二区| 欧美三级视频在线观看| 国产成人亚洲精品青草天美| 一区二区三区在线视频播放| 久久综合五月天婷婷伊人| 一本色道综合亚洲| 免费精品99久久国产综合精品| 自拍偷拍欧美激情| 欧美www视频| 色香蕉成人二区免费| 激情欧美一区二区| 夜夜亚洲天天久久| 久久久久久毛片| 欧美精品v日韩精品v韩国精品v| 成人综合婷婷国产精品久久免费| 视频在线观看国产精品| 亚洲欧美日韩在线播放| 久久午夜电影网| 6080午夜不卡| 91黄视频在线观看|