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

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

?? msd.h

?? STM32XXXX usb從設備和住設備的應用源代碼
?? H
字號:
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* File Name          : msd.h
* Author             : MCD Application Team
* Version            : V2.2.0
* Date               : 06/13/2008
* Description        : Header for msd.c file.
********************************************************************************
* THE PRESENT FIRMWARE 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 FIRMWARE 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  msd_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  msd_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 2008 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩国产在线观看一区| 日本欧美一区二区在线观看| 欧美日韩一区二区在线观看视频| 久久av资源网| 亚洲国产一区二区三区| 久久精品视频一区二区| 欧美吻胸吃奶大尺度电影| 福利电影一区二区| 国产一区欧美日韩| 蜜乳av一区二区三区| 亚洲精品水蜜桃| 日本一区免费视频| 久久婷婷久久一区二区三区| 欧美高清一级片在线| 91美女视频网站| www.亚洲激情.com| 国产成人三级在线观看| 精品一区二区在线播放| 丝袜诱惑亚洲看片| 亚洲大片精品永久免费| 一区二区成人在线视频| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 在线观看日韩精品| 成人美女视频在线观看18| 激情综合一区二区三区| 日本不卡一区二区三区| 亚洲成在线观看| 一区二区三区电影在线播| 一区视频在线播放| 国产精品第四页| 欧美国产丝袜视频| 亚洲国产成人午夜在线一区| 国产亚洲欧美日韩在线一区| 久久免费视频色| 久久久精品日韩欧美| 久久综合九色综合97婷婷女人 | 国产91精品精华液一区二区三区 | 日韩中文字幕1| 亚洲大片一区二区三区| 偷窥少妇高潮呻吟av久久免费| 一区二区三区四区不卡在线| 亚洲欧美色图小说| 亚洲男人的天堂在线aⅴ视频| 亚洲欧美日韩综合aⅴ视频| 亚洲精选视频在线| 亚洲最新视频在线播放| 亚洲综合偷拍欧美一区色| 亚洲一区二区免费视频| 亚洲成人av资源| 秋霞成人午夜伦在线观看| 久久国产生活片100| 国产精品资源网站| 成人av在线资源| 色狠狠桃花综合| 欧美日韩一区三区四区| 日韩亚洲欧美一区| 久久精品一区蜜桃臀影院| 亚洲国产精品高清| 亚洲精品日韩一| 日韩av一区二| 国产成人在线视频播放| 91麻豆国产香蕉久久精品| 欧美日韩高清一区| 欧美成人在线直播| 国产精品久久久久影院色老大 | 91精品国产欧美一区二区18 | 91网址在线看| 欧美日韩国产另类一区| 日韩女优电影在线观看| 国产精品你懂的在线欣赏| 一区二区三区在线观看网站| 日韩高清中文字幕一区| 国产iv一区二区三区| 欧美私模裸体表演在线观看| 精品88久久久久88久久久| 中文字幕一区二区三区精华液| 性久久久久久久| 大胆欧美人体老妇| 欧美精品第一页| 国产女主播一区| 午夜精品在线视频一区| 国产一区二区视频在线播放| 91丨porny丨户外露出| 欧美一级片在线看| 国产精品久久三区| 久久精品国产在热久久| 91色porny在线视频| 精品乱码亚洲一区二区不卡| 亚洲精品一卡二卡| 国产一区二区日韩精品| 色久综合一二码| 国产欧美一区视频| 日本不卡1234视频| 91久久精品网| 欧美国产亚洲另类动漫| 久久精品久久精品| 欧美三级日韩三级| 亚洲丝袜另类动漫二区| 国产一区二区日韩精品| 51精品秘密在线观看| 亚洲女人的天堂| 成人av网址在线观看| 欧美成人bangbros| 亚洲国产综合91精品麻豆| www.成人在线| 日本一区二区三区在线不卡| 日韩成人一级大片| 欧美综合亚洲图片综合区| 中文字幕va一区二区三区| 久久狠狠亚洲综合| 91精品国产综合久久福利软件 | 日韩电影在线免费| 欧美最猛性xxxxx直播| 国产人成亚洲第一网站在线播放 | 亚洲第一主播视频| 色88888久久久久久影院野外| 国产午夜精品一区二区| 看电视剧不卡顿的网站| 在线播放日韩导航| 亚洲v精品v日韩v欧美v专区| 一本久久a久久精品亚洲| 国产欧美日韩综合精品一区二区| 精品一区精品二区高清| 91麻豆精品国产自产在线观看一区| 一区二区欧美国产| 91九色02白丝porn| 亚洲精品久久久久久国产精华液| 不卡的av电影| 亚洲三级在线免费观看| 91蜜桃在线免费视频| 中文字幕在线不卡一区二区三区| 国产成都精品91一区二区三| 国产亚洲一区二区三区| 国产成人在线免费| 国产精品久久午夜夜伦鲁鲁| 成人动漫精品一区二区| 中文字幕在线不卡| 99国产精品99久久久久久| 亚洲欧洲国产日韩| 91日韩在线专区| 亚洲一级二级三级在线免费观看| 欧美午夜在线一二页| 日韩一区精品字幕| 精品国产露脸精彩对白| 国产精品 欧美精品| 国产精品午夜免费| 91日韩一区二区三区| 一区二区不卡在线播放| 欧美日韩精品欧美日韩精品| 日本人妖一区二区| 久久久久久麻豆| 99在线精品一区二区三区| 一区二区三区在线播| 欧美老肥妇做.爰bbww| 麻豆精品国产传媒mv男同| 2020国产精品久久精品美国| 国产成人亚洲综合a∨婷婷图片| 国产精品久久国产精麻豆99网站| av不卡免费在线观看| 亚洲一区在线看| 日韩欧美国产电影| 成人av在线播放网站| 亚洲资源在线观看| 精品国产91洋老外米糕| 成人免费观看男女羞羞视频| 亚洲精品一二三四区| 欧美一级理论性理论a| 国产不卡视频在线播放| 一个色妞综合视频在线观看| 这里只有精品电影| 处破女av一区二区| 午夜欧美大尺度福利影院在线看| 久久夜色精品国产噜噜av| 色综合久久天天综合网| 九九精品一区二区| 亚洲日本一区二区三区| 欧美成人精品福利| 色哟哟亚洲精品| 精品一二三四在线| 一个色在线综合| 久久新电视剧免费观看| 色婷婷av久久久久久久| 国内一区二区视频| 亚洲第一搞黄网站| 国产精品私人自拍| 日韩精品综合一本久道在线视频| 97久久精品人人做人人爽50路| 日本三级韩国三级欧美三级| 最新国产の精品合集bt伙计| 日韩天堂在线观看| 色婷婷久久99综合精品jk白丝| 久久se精品一区二区| 亚洲国产中文字幕在线视频综合 | 三级精品在线观看| 国产精品免费aⅴ片在线观看| 欧美日韩国产色站一区二区三区| 成人激情免费视频| 经典三级视频一区| 日韩成人免费电影| 一区二区三区四区中文字幕|