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

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

?? mem_task.c

?? 該原碼為在ateml的單片機上實現的mp3播放器.里面有電路圖和完整的源程序.
?? 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
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一区二区三区| 国产欧美日韩中文久久| av在线播放成人| 成人h动漫精品一区二| 波多野结衣中文字幕一区 | 国产91对白在线观看九色| 美女视频黄频大全不卡视频在线播放 | 国产成人av电影在线观看| 男女男精品网站| 国产99久久久国产精品| 欧美福利视频导航| 欧美www视频| 亚洲欧美在线另类| 亚洲午夜影视影院在线观看| 日韩国产精品久久| 风流少妇一区二区| 久久亚洲私人国产精品va媚药| 国产精品美女久久久久aⅴ| 亚洲欧美日韩精品久久久久| 亚洲国产精品一区二区久久| 丁香天五香天堂综合| 精品福利在线导航| 亚洲精品成人在线| 丝袜诱惑亚洲看片| 国产一区激情在线| 91在线视频免费91| 日韩一级欧美一级| 自拍偷拍欧美精品| 久久国产三级精品| 91免费版pro下载短视频| 欧美日韩国产一二三| 久久久久久久久久久99999| 亚洲人成7777| 色综合久久久久久久| 91精品国产乱| 亚洲欧美综合在线精品| 99久久夜色精品国产网站| 国产精品家庭影院| 久久99国产精品成人| 99视频国产精品| 国产精品国产精品国产专区不蜜| 国产精品一区二区久久精品爱涩| 精品1区2区3区| 国产精品你懂的在线欣赏| 顶级嫩模精品视频在线看| 国产精品沙发午睡系列990531| av中文字幕亚洲| 亚洲综合成人在线视频| 成人午夜视频福利| 中文字幕一区二区三区四区| 日本伦理一区二区| 国产精品久久久久久户外露出| 99久久婷婷国产| 亚洲成人免费在线观看| 91亚洲精品久久久蜜桃| 亚洲女子a中天字幕| 欧美日本国产一区| 国产在线乱码一区二区三区| 日韩午夜精品视频| 国产99精品国产| 亚洲精品美腿丝袜| 日韩小视频在线观看专区| 成人性生交大片免费看中文| 一区二区三区欧美日| 色吊一区二区三区| 肉色丝袜一区二区| 亚洲精品一区二区三区99| 99久久精品免费| 麻豆91免费看| 亚洲欧美日韩一区二区三区在线观看| 欧美日韩国产乱码电影| 国产aⅴ综合色| 日本三级亚洲精品| 一色屋精品亚洲香蕉网站| 日韩一级成人av| 色香色香欲天天天影视综合网 | 亚洲欧美偷拍卡通变态| 日韩欧美不卡在线观看视频| 麻豆91精品91久久久的内涵| 国产精品久久久久影院老司 | 综合激情成人伊人| 精品国产乱码久久久久久浪潮| 99精品桃花视频在线观看| 麻豆91精品91久久久的内涵| 亚洲国产一区二区三区| 中文字幕欧美激情| 成人三级伦理片| 青青草国产成人av片免费| 国产精品久久福利| 欧美精品一区二区三区高清aⅴ| 色婷婷精品大在线视频 | 日本午夜精品一区二区三区电影| 国产精品国产三级国产aⅴ原创| 91精品国产综合久久蜜臀| 青青草原综合久久大伊人精品 | 日韩欧美在线影院| 在线精品视频免费观看| 午夜婷婷国产麻豆精品| 欧美一区二区三区精品| 色激情天天射综合网| 国产成人免费视| 激情综合色丁香一区二区| 午夜精品一区二区三区电影天堂 | 亚洲欧洲中文日韩久久av乱码| www国产成人| 精品国产髙清在线看国产毛片 | 欧美激情一区在线| 精品国产三级电影在线观看| 91精品国产综合久久久久久久久久| 色噜噜狠狠成人网p站| 色综合天天性综合| 日韩专区中文字幕一区二区| 亚洲精品五月天| 中文字幕综合网| 亚洲欧美另类小说| 亚洲黄色在线视频| 亚洲国产精品久久艾草纯爱| 亚洲一区免费视频| 亚洲国产精品久久人人爱| 亚洲v中文字幕| 日韩专区欧美专区| 美美哒免费高清在线观看视频一区二区| 天堂久久一区二区三区| 日韩精品一区第一页| 久久机这里只有精品| 国产激情91久久精品导航| 国产成人午夜精品影院观看视频| 国产成人av在线影院| 不卡在线观看av| 欧美主播一区二区三区| 6080午夜不卡| 久久综合一区二区| 最新中文字幕一区二区三区| 亚洲一卡二卡三卡四卡五卡| 日本不卡视频在线| 国产成人av电影在线播放| 91浏览器入口在线观看| 欧美群妇大交群的观看方式| 欧美xxxx老人做受| 亚洲日本免费电影| 午夜伦理一区二区| 国产精品一二三| 91老师国产黑色丝袜在线| 欧美精品1区2区3区| 久久精品视频一区二区三区| 久久老女人爱爱| 亚洲欧美日韩国产综合| 亚洲成a人在线观看| 国产乱人伦偷精品视频免下载| 99久久综合国产精品| 欧美精品18+| 国产精品区一区二区三| 视频在线在亚洲| 懂色av一区二区三区蜜臀| 欧美视频在线观看一区| 欧美无砖砖区免费| 久久综合九色综合97_久久久| 自拍偷拍欧美激情| 美女高潮久久久| 91老师片黄在线观看| www日韩大片| 丝袜美腿亚洲综合| 91啪在线观看| 久久免费午夜影院| 五月婷婷激情综合| 色综合咪咪久久| 欧美国产欧美综合| 久久国产成人午夜av影院| 色999日韩国产欧美一区二区| 欧美成人激情免费网| 亚洲一区影音先锋| 99精品国产一区二区三区不卡| 日韩欧美一级二级三级久久久| 亚洲色图另类专区| 国产成人在线网站| 欧美成人伊人久久综合网| 亚洲在线中文字幕| 99久久er热在这里只有精品66| 久久综合色天天久久综合图片| 亚洲国产视频网站| 色av成人天堂桃色av| 亚洲天天做日日做天天谢日日欢 | 欧日韩精品视频| 中文字幕不卡的av| 国产露脸91国语对白| 日韩欧美国产一二三区| 五月天视频一区| 欧美视频一区二区| 亚洲一区免费在线观看| 色一情一伦一子一伦一区| 国产精品理伦片| 国产99久久久国产精品潘金| 久久免费视频色| 韩国三级在线一区| 精品国产91久久久久久久妲己 | 久久超碰97人人做人人爱| 欧美日韩成人在线一区| 香蕉成人伊视频在线观看| 欧美午夜片在线观看| 首页国产丝袜综合|