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

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

?? diskio.c

?? STM32SDCardSourceCodeFATFS.rar
?? C
字號:
/*-----------------------------------------------------------------------*/
/* Low level disk I/O module skeleton for FatFs     (C)ChaN, 2007        */
/*-----------------------------------------------------------------------*/
/* This is a stub disk I/O module that acts as front end of the existing */
/* disk I/O modules and attach it to FatFs module with common interface. */
/*-----------------------------------------------------------------------*/

#include "..\common.h"



/*-----------------------------------------------------------------------*/
/* Inidialize a Drive                                                    */

DSTATUS disk_initialize (
	BYTE drv				/* Physical drive nmuber (0..) */
)
{
    u8 state;

    if(drv)
    {
        return STA_NOINIT;  //僅支持磁盤0的操作
    }

    state = SD_Init();
    if(state == STA_NODISK)
    {
        return STA_NODISK;
    }
    else if(state != 0)
    {
        return STA_NOINIT;  //其他錯誤:初始化失敗
    }
    else
    {
        return 0;           //初始化成功
    }
}



/*-----------------------------------------------------------------------*/
/* Return Disk Status                                                    */

DSTATUS disk_status (
	BYTE drv		/* Physical drive nmuber (0..) */
)
{
    if(drv)
    {
        return STA_NOINIT;  //僅支持磁盤0操作
    }

    //檢查SD卡是否插入
    if(!SD_DET())
    {
        return STA_NODISK;
    }
    return 0;
}



/*-----------------------------------------------------------------------*/
/* Read Sector(s)                                                        */

DRESULT disk_read (
	BYTE drv,		/* Physical drive nmuber (0..) */
	BYTE *buff,		/* Data buffer to store read data */
	DWORD sector,	/* Sector address (LBA) */
	BYTE count		/* Number of sectors to read (1..255) */
)
{
	u8 res=0;
    if (drv || !count)
    {    
        return RES_PARERR;  //僅支持單磁盤操作,count不能等于0,否則返回參數錯誤
    }
    if(!SD_DET())
    {
        return RES_NOTRDY;  //沒有檢測到SD卡,報NOT READY錯誤
    }

    
	
    if(count==1)            //1個sector的讀操作      
    {                                                
        res = SD_ReadSingleBlock(sector, buff);      
    }                                                
    else                    //多個sector的讀操作     
    {                                                
        res = SD_ReadMultiBlock(sector, buff, count);
    }                                                
	/*
    do                           
    {                                          
        if(SD_ReadSingleBlock(sector, buff)!=0)
        {                                      
            res = 1;                           
            break;                             
        }                                      
        buff+=512;                             
    }while(--count);                                         
    */
    //處理返回值,將SPI_SD_driver.c的返回值轉成ff.c的返回值
    if(res == 0x00)
    {
        return RES_OK;
    }
    else
    {
        return RES_ERROR;
    }
}



/*-----------------------------------------------------------------------*/
/* Write Sector(s)                                                       */

#if _READONLY == 0
DRESULT disk_write (
	BYTE drv,			/* Physical drive nmuber (0..) */
	const BYTE *buff,	/* Data to be written */
	DWORD sector,		/* Sector address (LBA) */
	BYTE count			/* Number of sectors to write (1..255) */
)
{
	u8 res;

    if (drv || !count)
    {    
        return RES_PARERR;  //僅支持單磁盤操作,count不能等于0,否則返回參數錯誤
    }
    if(!SD_DET())
    {
        return RES_NOTRDY;  //沒有檢測到SD卡,報NOT READY錯誤
    }

    // 讀寫操作
    if(count == 1)
    {
        res = SD_WriteSingleBlock(sector, buff);
    }
    else
    {
        res = SD_WriteMultiBlock(sector, buff, count);
    }
    // 返回值轉換
    if(res == 0)
    {
        return RES_OK;
    }
    else
    {
        return RES_ERROR;
    }
}
#endif /* _READONLY */



/*-----------------------------------------------------------------------*/
/* Miscellaneous Functions                                               */

DRESULT disk_ioctl (
	BYTE drv,		/* Physical drive nmuber (0..) */
	BYTE ctrl,		/* Control code */
	void *buff		/* Buffer to send/receive control data */
)
{
    DRESULT res;


    if (drv)
    {    
        return RES_PARERR;  //僅支持單磁盤操作,否則返回參數錯誤
    }
    
    //FATFS目前版本僅需處理CTRL_SYNC,GET_SECTOR_COUNT,GET_BLOCK_SIZ三個命令
    switch(ctrl)
    {
    case CTRL_SYNC:
        SD_CS_ENABLE();
        if(SD_WaitReady()==0)
        {
            res = RES_OK;
        }
        else
        {
            res = RES_ERROR;
        }
        SD_CS_DISABLE();
        break;
        
    case GET_BLOCK_SIZE:
        *(WORD*)buff = 512;
        res = RES_OK;
        break;

    case GET_SECTOR_COUNT:
        *(DWORD*)buff = SD_GetCapacity();
        res = RES_OK;
        break;
    default:
        res = RES_PARERR;
        break;
    }

    return res;
}


/*-----------------------------------------------------------------------*/
/* User defined function to give a current time to fatfs module          */
/* 31-25: Year(0-127 org.1980), 24-21: Month(1-12), 20-16: Day(1-31) */                                                                                                                                                                                                                                          
/* 15-11: Hour(0-23), 10-5: Minute(0-59), 4-0: Second(0-29 *2) */                                                                                                                                                                                                                                                
DWORD get_fattime (void)
{
    struct tm t;
    DWORD date;
    t = Time_GetCalendarTime();
    t.tm_year -= 1980;		//年份改為1980年起
    t.tm_mon++;         	//0-11月改為1-12月
    t.tm_sec /= 2;      	//將秒數改為0-29
    
    date = 0;
    date = (t.tm_year << 25)|(t.tm_mon<<21)|(t.tm_mday<<16)|\
            (t.tm_hour<<11)|(t.tm_min<<5)|(t.tm_sec);

    return date;
}
							




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文乱码免费一区二区| 亚洲精品乱码久久久久久| 99亚偷拍自图区亚洲| 亚洲成人一区在线| 国产精品毛片大码女人| 欧美精品久久99久久在免费线| 国产高清亚洲一区| 日韩激情中文字幕| 中文字幕亚洲在| 欧美精品一区二区高清在线观看| 色狠狠色狠狠综合| 懂色av噜噜一区二区三区av| 秋霞成人午夜伦在线观看| 亚洲欧洲另类国产综合| 亚洲精品在线免费播放| 欧美久久久影院| 一本大道久久a久久综合| 国产99久久久国产精品| 久久精品久久精品| 亚洲国产精品麻豆| 国产精品久久久久久久久免费樱桃 | 亚洲欧美二区三区| 久久久久久久性| 精品少妇一区二区三区在线播放| 欧美日韩精品二区第二页| 9久草视频在线视频精品| 国产精品一区二区在线观看不卡| 七七婷婷婷婷精品国产| 亚洲va欧美va天堂v国产综合| 亚洲天堂网中文字| 国产精品美女久久久久久久久久久| 精品免费视频一区二区| 91精品国产综合久久婷婷香蕉| 欧美色综合网站| 欧洲视频一区二区| 色综合天天狠狠| 91在线免费视频观看| 国产91精品精华液一区二区三区| 国内精品国产三级国产a久久| 日本不卡在线视频| 奇米色一区二区| 日韩精品视频网| 日韩电影在线观看网站| 午夜激情久久久| 日韩一区精品视频| 日韩福利电影在线观看| 青青草精品视频| 青草国产精品久久久久久| 日韩电影在线观看一区| 久久精品国产免费| 国产一区二区h| 国产成人av电影在线播放| 丁香另类激情小说| 99久久国产综合精品色伊| av电影天堂一区二区在线| 色系网站成人免费| 欧美日韩国产色站一区二区三区| 欧美精品在欧美一区二区少妇| 在线不卡的av| 精品国产凹凸成av人网站| 久久久国际精品| 综合欧美一区二区三区| 一区二区成人在线| 日韩精品成人一区二区在线| 国产美女精品人人做人人爽| 成人激情免费电影网址| 欧美午夜电影一区| 日韩欧美激情在线| 中文字幕欧美国产| 亚洲欧美国产77777| 日本中文字幕一区二区视频 | 亚洲视频免费观看| 一区二区视频免费在线观看| 日本亚洲视频在线| 成人免费不卡视频| 在线免费观看一区| 欧美精品一区二区高清在线观看| 国产精品不卡在线| 首页欧美精品中文字幕| 国产91精品精华液一区二区三区| 在线精品视频一区二区三四| 欧美xxxx在线观看| 亚洲日本护士毛茸茸| 免费成人在线网站| aa级大片欧美| 日韩欧美成人激情| 亚洲日本乱码在线观看| 久久不见久久见免费视频7| www.日韩大片| 日韩欧美亚洲一区二区| 综合中文字幕亚洲| 免费成人美女在线观看| 99久久精品免费| 欧美电影免费观看高清完整版| 亚洲欧洲精品一区二区三区 | 日韩欧美一级二级三级久久久| 国产精品毛片大码女人| 美女一区二区久久| 欧美影院一区二区三区| 久久噜噜亚洲综合| 香蕉成人伊视频在线观看| 国产69精品久久久久毛片| 91精品国产美女浴室洗澡无遮挡| 综合亚洲深深色噜噜狠狠网站| 黄页视频在线91| 欧美日本精品一区二区三区| 中文字幕永久在线不卡| 国产一区二区在线视频| 欧美另类久久久品| 亚洲精品成人悠悠色影视| 国产成人8x视频一区二区| 日韩精品专区在线影院观看| 亚洲亚洲精品在线观看| 成人免费三级在线| 久久久亚洲午夜电影| 麻豆高清免费国产一区| 精品视频在线免费看| 最好看的中文字幕久久| 成人免费毛片片v| 国产午夜亚洲精品午夜鲁丝片| 美女视频免费一区| 欧美久久久影院| 亚洲不卡一区二区三区| 色哟哟国产精品免费观看| 国产日韩欧美精品一区| 精品亚洲成av人在线观看| 成人动漫av在线| 日本欧美一区二区| 麻豆精品国产91久久久久久| 欧美日韩免费一区二区三区| 欧美片在线播放| 亚洲综合久久久久| 色婷婷综合久久| 亚洲欧美日韩成人高清在线一区| www.综合网.com| 国产精品麻豆欧美日韩ww| 极品少妇一区二区| 欧美videos中文字幕| 免费看欧美美女黄的网站| 欧美视频中文一区二区三区在线观看| 自拍偷拍亚洲综合| 色噜噜狠狠成人中文综合| 亚洲精品成人天堂一二三| 色天天综合色天天久久| 亚洲精品国产第一综合99久久| 色噜噜狠狠成人中文综合| 亚洲激情男女视频| 91麻豆国产在线观看| 亚洲乱码日产精品bd| 日本精品免费观看高清观看| 一区二区三国产精华液| 欧美日韩在线精品一区二区三区激情 | 中文字幕一区二区三区在线播放| 国产成a人亚洲精品| 中文字幕一区在线| 欧洲人成人精品| 免费在线看一区| 日韩三级免费观看| 91成人国产精品| 日本sm残虐另类| 久久久亚洲高清| 97se亚洲国产综合自在线不卡| 亚洲欧洲中文日韩久久av乱码| 欧美性猛片xxxx免费看久爱| 奇米影视一区二区三区小说| 国产网红主播福利一区二区| 99久久精品情趣| 亚洲777理论| 久久日韩粉嫩一区二区三区 | 国产成人av电影在线播放| 亚洲天堂免费看| 正在播放亚洲一区| 国产一区二区三区四| 亚洲色图.com| 欧美一区二区精品| 国产精品99久久久久久宅男| 综合激情成人伊人| 欧美一区二区免费| 成人久久视频在线观看| 亚洲va中文字幕| 日本一区二区三区久久久久久久久不 | 精彩视频一区二区| 国产精品高潮呻吟久久| 在线成人高清不卡| jlzzjlzz亚洲日本少妇| 天天色 色综合| 国产精品嫩草影院av蜜臀| 欧美日韩在线精品一区二区三区激情| 国内精品在线播放| 亚洲激情图片一区| 久久精品亚洲精品国产欧美kt∨| 在线亚洲高清视频| 国产精品18久久久久久久久| 婷婷久久综合九色综合伊人色| 中文字幕高清不卡| 日韩一级成人av| 日本乱码高清不卡字幕| 国产一区二区不卡| 轻轻草成人在线| 亚洲伊人色欲综合网|