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

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

?? msd.h

?? 基于STM32的MP3播放器設(shè)計(jì)與實(shí)現(xiàn) MDK完整源碼 原文 http://blog.ednchina.com/xiong_gang_whut/140556/message.aspx
?? H
字號(hào):
/******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
* File Name          : msd.h
* Author             : MCD Application Team
* Version            : V1.0
* Date               : 10/08/2007
* Description        : Header for msd.c file.
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MSD_H
#define __MSD_H

/* Includes ------------------------------------------------------------------*/
#include "stm32f10x_lib.h"

/* Private define ------------------------------------------------------------*/
/* Block Size */
#define BLOCK_SIZE    512

/* Dummy byte */
#define DUMMY   0xFF

/* Start Data tokens  */
/* Tokens (necessary because at nop/idle (and CS active) only 0xff is on the data/command line) */
#define MSD_START_DATA_SINGLE_BLOCK_READ 0xFE  /* Data token start byte, Start Single Block Read */
#define MSD_START_DATA_MULTIPLE_BLOCK_READ  0xFE  /* Data token start byte, Start Multiple Block Read */
#define MSD_START_DATA_SINGLE_BLOCK_WRITE 0xFE  /* Data token start byte, Start Single Block Write */
#define MSD_START_DATA_MULTIPLE_BLOCK_WRITE 0xFD  /* Data token start byte, Start Multiple Block Write */
#define MSD_STOP_DATA_MULTIPLE_BLOCK_WRITE 0xFD  /* Data toke stop byte, Stop Multiple Block Write */

/* MSD functions return */
#define MSD_SUCCESS       0x00
#define MSD_FAIL          0xFF

/* MSD reponses and error flags */
#define MSD_RESPONSE_NO_ERROR      0x00
#define MSD_IN_IDLE_STATE          0x01
#define MSD_ERASE_RESET            0x02
#define MSD_ILLEGAL_COMMAND        0x04
#define MSD_COM_CRC_ERROR          0x08
#define MSD_ERASE_SEQUENCE_ERROR   0x10
#define MSD_ADDRESS_ERROR          0x20
#define MSD_PARAMETER_ERROR        0x40
#define MSD_RESPONSE_FAILURE       0xFF

/* Data response error */
#define MSD_DATA_OK                0x05
#define MSD_DATA_CRC_ERROR         0x0B
#define MSD_DATA_WRITE_ERROR       0x0D
#define MSD_DATA_OTHER_ERROR       0xFF

/* Commands: CMDxx = CMD-number | 0x40 */
#define MSD_GO_IDLE_STATE          0   /* CMD0=0x40 */
#define MSD_SEND_OP_COND           1   /* CMD1=0x41 */
#define MSD_SEND_CSD               9   /* CMD9=0x49 */
#define MSD_SEND_CID               10  /* CMD10=0x4A */
#define MSD_STOP_TRANSMISSION      12  /* CMD12=0x4C */
#define MSD_SEND_STATUS            13  /* CMD13=0x4D */
#define MSD_SET_BLOCKLEN           16  /* CMD16=0x50 */
#define MSD_READ_SINGLE_BLOCK      17  /* CMD17=0x51 */
#define MSD_READ_MULTIPLE_BLOCK    18  /* CMD18=0x52 */
#define MSD_SET_BLOCK_COUNT        23  /* CMD23=0x57 */
#define MSD_WRITE_BLOCK            24  /* CMD24=0x58 */
#define MSD_WRITE_MULTIPLE_BLOCK   25  /* CMD25=0x59 */
#define MSD_PROGRAM_CSD            27  /* CMD27=0x5B */
#define MSD_SET_WRITE_PROT         28  /* CMD28=0x5C */
#define MSD_CLR_WRITE_PROT         29  /* CMD29=0x5D */
#define MSD_SEND_WRITE_PROT        30  /* CMD30=0x5E */
#define MSD_TAG_SECTOR_START       32  /* CMD32=0x60 */
#define MSD_TAG_SECTOR_END         33  /* CMD33=0x61 */
#define MSD_UNTAG_SECTOR           34  /* CMD34=0x62 */
#define MSD_TAG_ERASE_GROUP_START  35  /* CMD35=0x63 */
#define MSD_TAG_ERASE_GROUP_END    36  /* CMD36=0x64 */
#define MSD_UNTAG_ERASE_GROUP      37  /* CMD37=0x65 */
#define MSD_ERASE                  38  /* CMD38=0x66 */
#define MSD_READ_OCR               39  /* CMD39=0x67 */
#define MSD_CRC_ON_OFF             40  /* CMD40=0x68 */

/* Exported types ------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
typedef struct _MSD_CSD      /*Card Specific Data*/
{
  vu8  CSDStruct;            /* CSD structure */
  vu8  SysSpecVersion;       /* System specification version */
  vu8  Reserved1;            /* Reserved */
  vu8  TAAC;                 /* Data read access-time 1 */
  vu8  NSAC;                 /* Data read access-time 2 in CLK cycles */
  vu8  MaxBusClkFrec;        /* Max. bus clock frequency */
  vu16 CardComdClasses;      /* Card command classes */
  vu8  RdBlockLen;           /* Max. read data block length */
  vu8  PartBlockRead;        /* Partial blocks for read allowed */
  vu8  WrBlockMisalign;      /* Write block misalignment */
  vu8  RdBlockMisalign;      /* Read block misalignment */
  vu8  DSRImpl;              /* DSR implemented */
  vu8  Reserved2;            /* Reserved */
  vu16 DeviceSize;           /* Device Size */
  vu8  MaxRdCurrentVDDMin;   /* Max. read current @ VDD min */
  vu8  MaxRdCurrentVDDMax;   /* Max. read current @ VDD max */
  vu8  MaxWrCurrentVDDMin;   /* Max. write current @ VDD min */
  vu8  MaxWrCurrentVDDMax;   /* Max. write current @ VDD max */
  vu8  DeviceSizeMul;        /* Device size multiplier */
  vu8  EraseGrSize;          /* Erase group size */
  vu8  EraseGrMul;           /* Erase group size multiplier */
  vu8  WrProtectGrSize;      /* Write protect group size */
  vu8  WrProtectGrEnable;    /* Write protect group enable */
  vu8  ManDeflECC;           /* Manufacturer default ECC */
  vu8  WrSpeedFact;          /* Write speed factor */
  vu8  MaxWrBlockLen;        /* Max. write data block length */
  vu8  WriteBlockPaPartial;  /* Partial blocks for write allowed */
  vu8  Reserved3;            /* Reserded */
  vu8  ContentProtectAppli;  /* Content protection application */
  vu8  FileFormatGrouop;     /* File format group */
  vu8  CopyFlag;             /* Copy flag (OTP) */
  vu8  PermWrProtect;        /* Permanent write protection */
  vu8  TempWrProtect;        /* Temporary write protection */
  vu8  FileFormat;           /* File Format */
  vu8  ECC;                  /* ECC code */
  vu8  CRC;                  /* CRC */
  vu8  Reserved4;            /* always 1*/
}
sMSD_CSD;

typedef struct _MSD_CID      /*Card Identification Data*/
{
  vu8  ManufacturerID;       /* ManufacturerID */
  vu16 OEM_AppliID;          /* OEM/Application ID */
  vu32 ProdName1;            /* Product Name part1 */
  vu8  ProdName2;            /* Product Name part2*/
  vu8  ProdRev;              /* Product Revision */
  vu32 ProdSN;               /* Product Serial Number */
  vu8  Reserved1;            /* Reserved1 */
  vu16 ManufactDate;         /* Manufacturing Date */
  vu8  CRC;                  /* CRC */
  vu8  Reserved2;            /* always 1*/
}
sMSD_CID;

/* Exported constants --------------------------------------------------------*/
/* Exported macro ------------------------------------------------------------*/
/* Exported functions ------------------------------------------------------- */

/*----- High layer function -----*/
u8 MSD_Init(void);
u8 MSD_WriteBlock(u8* pBuffer, u32 WriteAddr, u16 NumByteToWrite);
u8 MSD_ReadBlock(u8* pBuffer, u32 ReadAddr, u16 NumByteToRead);
u8 MSD_WriteBuffer(u8* pBuffer, u32 WriteAddr, u32 NumByteToWrite);
u8 MSD_ReadBuffer(u8* pBuffer, u32 ReadAddr, u32 NumByteToRead);
u8 MSD_GetCSDRegister(sMSD_CSD* MSD_csd);
u8 MSD_GetCIDRegister(sMSD_CID* MSD_cid);

/*----- Medium layer function -----*/
void MSD_SendCmd(u8 Cmd, u32 Arg, u8 Crc);
u8 MSD_GetResponse(u8 Response);
u8 MSD_GetDataResponse(void);
u8 MSD_GoIdleState(void);
u16 MSD_GetStatus(void);
/*----- Low layer function -----*/
void MSD_WriteByte(u8 byte);
u8 MSD_ReadByte(void);

#endif /* __MSD_H */

/******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产综合在线一区二区三区| 韩国理伦片一区二区三区在线播放 | 国产精品人妖ts系列视频| 国产女人水真多18毛片18精品视频 | 视频在线在亚洲| 欧美va亚洲va| 99久久777色| 555www色欧美视频| 91啪在线观看| 欧美成人女星排名| 婷婷六月综合亚洲| 欧美电影免费提供在线观看| 久久不见久久见中文字幕免费| 欧美r级在线观看| 国产福利一区二区| 亚洲三级电影网站| 欧美日韩一区二区三区四区五区 | 久久超碰97中文字幕| 久久精品这里都是精品| 99re成人精品视频| 亚洲高清在线视频| 精品免费国产二区三区 | 北条麻妃国产九九精品视频| 日韩理论片网站| 7777精品伊人久久久大香线蕉 | 日本欧美肥老太交大片| 久久久三级国产网站| 91蜜桃免费观看视频| 日本中文字幕一区二区有限公司| 久久品道一品道久久精品| 一本到不卡免费一区二区| 视频在线观看国产精品| 欧美韩国日本综合| 欧美二区三区的天堂| 床上的激情91.| 日韩成人免费在线| 国产精品护士白丝一区av| 欧美夫妻性生活| 成人动漫精品一区二区| 日本一区中文字幕| 亚洲视频精选在线| 精品va天堂亚洲国产| 色噜噜狠狠成人中文综合| 国产一区在线视频| 亚洲一区二区精品3399| 国产女同性恋一区二区| 777xxx欧美| 色狠狠色噜噜噜综合网| 国产成人av电影免费在线观看| 性欧美疯狂xxxxbbbb| 国产精品久久久久7777按摩| 欧美成人激情免费网| 欧美色图一区二区三区| av福利精品导航| 国产精品一区在线| 美女www一区二区| 亚洲成人手机在线| 亚洲激情五月婷婷| 亚洲欧洲精品一区二区精品久久久| 91精品免费在线观看| 91国产成人在线| 高清在线成人网| 91丝袜美腿高跟国产极品老师 | 色综合久久久久久久久久久| 久久国产精品区| 日韩国产欧美一区二区三区| 亚洲自拍都市欧美小说| 亚洲乱码一区二区三区在线观看| 日本一区二区三区久久久久久久久不| 日韩精品一区二区三区中文精品| 欧美日韩一二区| 在线中文字幕一区二区| 色综合天天做天天爱| 波多野结衣亚洲| 成人app在线观看| 成人精品国产福利| 成人性视频免费网站| 成人免费精品视频| 大陆成人av片| 波多野结衣中文字幕一区| 成人综合在线视频| 国产成人免费av在线| 国产盗摄女厕一区二区三区| 国产一区二区三区观看| 国产激情视频一区二区在线观看 | 久久伊99综合婷婷久久伊| 欧美电影免费观看高清完整版在| 日韩一区二区在线播放| 91精品国产麻豆| 欧美成人猛片aaaaaaa| 久久影院午夜论| 国产精品全国免费观看高清| 国产精品看片你懂得| 亚洲免费电影在线| 亚洲第一精品在线| 蜜桃在线一区二区三区| 国产精一品亚洲二区在线视频| 成人亚洲一区二区一| 欧美这里有精品| 欧美一级生活片| 欧美激情在线观看视频免费| 成人欧美一区二区三区视频网页| 亚洲欧美韩国综合色| 午夜成人在线视频| 国产毛片一区二区| 91香蕉视频mp4| 91麻豆精品国产91久久久久久| 精品电影一区二区三区| 国产精品久久久久毛片软件| 亚洲一二三四区| 老司机精品视频在线| 成人国产精品免费| 欧美三级中文字幕在线观看| 精品少妇一区二区三区免费观看 | 午夜国产不卡在线观看视频| 成人中文字幕电影| 日本道在线观看一区二区| 日韩一区二区在线播放| 中文字幕一区二区三区四区| 亚洲成a人片在线不卡一二三区| 九九热在线视频观看这里只有精品| 成人性生交大合| 欧美高清dvd| 欧美国产日本韩| 亚洲成人福利片| 国产成人高清视频| 欧美久久久久免费| 亚洲国产精品黑人久久久| 偷拍日韩校园综合在线| 丁香婷婷综合五月| 日韩一级免费观看| 一区二区三区久久| 国产一区二三区| 欧美日韩精品久久久| 欧美国产97人人爽人人喊| 五月婷婷综合在线| 一本一道久久a久久精品| 精品久久久久99| 天堂一区二区在线免费观看| 成人动漫一区二区| 久久精品无码一区二区三区| 亚洲成av人片观看| 99riav久久精品riav| 精品国产乱码久久久久久牛牛 | 婷婷开心久久网| 91麻豆免费看| 中文字幕第一区二区| 蜜桃一区二区三区在线| 欧美日韩aaa| 亚洲欧美成aⅴ人在线观看| 国产精品一级片在线观看| 日韩欧美高清dvd碟片| 午夜伦理一区二区| 日本高清无吗v一区| 国产精品色一区二区三区| 国产美女在线精品| 欧美精品一区二| 开心九九激情九九欧美日韩精美视频电影| 欧美午夜宅男影院| 尤物av一区二区| 99这里只有久久精品视频| 国产精品美日韩| 国产精品夜夜爽| 久久久精品天堂| 国产一区二区三区美女| 久久综合九色综合欧美亚洲| 美女国产一区二区三区| 精品国产一区二区三区四区四| 蜜桃视频免费观看一区| 91精品视频网| 久99久精品视频免费观看| 精品国产一区二区精华 | 精品一区二区久久久| 日韩欧美中文一区| 久久97超碰色| 久久久久久**毛片大全| 国产激情一区二区三区| 亚洲国产成人自拍| 91蜜桃在线免费视频| 亚洲精品伦理在线| 欧美色图12p| 奇米精品一区二区三区在线观看 | 欧美成人官网二区| 国产麻豆9l精品三级站| 国产日韩欧美高清在线| av电影在线不卡| 亚洲尤物视频在线| 欧美日韩国产影片| 美女高潮久久久| 国产日本一区二区| 色国产精品一区在线观看| 性做久久久久久免费观看 | 色综合久久中文综合久久牛| 亚洲女同女同女同女同女同69| 欧美在线观看禁18| 蜜臂av日日欢夜夜爽一区| 国产色产综合产在线视频| 色综合天天综合色综合av | 激情综合网av| 中文字幕亚洲一区二区av在线|