手動機アーム、mbed基盤のspiをおくるだけのプログラムです(9/4)

Dependencies:   SPI_master_arm_shudouki mbed

Fork of SPI_master_arm_shudouki2 by F^3 RC 2班

Committer:
yoka06
Date:
Mon Aug 21 08:49:06 2017 +0000
Revision:
0:76d1c7f13415
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yoka06 0:76d1c7f13415 1 /*-----------------------------------------------------------------------
yoka06 0:76d1c7f13415 2 / Low level disk interface modlue include file R0.06 (C)ChaN, 2007
yoka06 0:76d1c7f13415 3 /-----------------------------------------------------------------------*/
yoka06 0:76d1c7f13415 4
yoka06 0:76d1c7f13415 5 #ifndef _DISKIO
yoka06 0:76d1c7f13415 6
yoka06 0:76d1c7f13415 7 #define _READONLY 0 /* 1: Read-only mode */
yoka06 0:76d1c7f13415 8 #define _USE_IOCTL 1
yoka06 0:76d1c7f13415 9
yoka06 0:76d1c7f13415 10 #include "integer.h"
yoka06 0:76d1c7f13415 11
yoka06 0:76d1c7f13415 12 #ifdef __cplusplus
yoka06 0:76d1c7f13415 13 extern "C" {
yoka06 0:76d1c7f13415 14 #endif
yoka06 0:76d1c7f13415 15
yoka06 0:76d1c7f13415 16 /* Status of Disk Functions */
yoka06 0:76d1c7f13415 17 typedef BYTE DSTATUS;
yoka06 0:76d1c7f13415 18
yoka06 0:76d1c7f13415 19 /* Results of Disk Functions */
yoka06 0:76d1c7f13415 20 typedef enum {
yoka06 0:76d1c7f13415 21 RES_OK = 0, /* 0: Successful */
yoka06 0:76d1c7f13415 22 RES_ERROR, /* 1: R/W Error */
yoka06 0:76d1c7f13415 23 RES_WRPRT, /* 2: Write Protected */
yoka06 0:76d1c7f13415 24 RES_NOTRDY, /* 3: Not Ready */
yoka06 0:76d1c7f13415 25 RES_PARERR /* 4: Invalid Parameter */
yoka06 0:76d1c7f13415 26 } DRESULT;
yoka06 0:76d1c7f13415 27
yoka06 0:76d1c7f13415 28
yoka06 0:76d1c7f13415 29 /*---------------------------------------*/
yoka06 0:76d1c7f13415 30 /* Prototypes for disk control functions */
yoka06 0:76d1c7f13415 31
yoka06 0:76d1c7f13415 32 DSTATUS disk_initialize (BYTE);
yoka06 0:76d1c7f13415 33 DSTATUS disk_status (BYTE);
yoka06 0:76d1c7f13415 34 DRESULT disk_read (BYTE, BYTE*, DWORD, BYTE);
yoka06 0:76d1c7f13415 35 #if _READONLY == 0
yoka06 0:76d1c7f13415 36 DRESULT disk_write (BYTE, const BYTE*, DWORD, BYTE);
yoka06 0:76d1c7f13415 37 #endif
yoka06 0:76d1c7f13415 38 DRESULT disk_ioctl (BYTE, BYTE, void*);
yoka06 0:76d1c7f13415 39 void disk_timerproc (void);
yoka06 0:76d1c7f13415 40
yoka06 0:76d1c7f13415 41 #ifdef __cplusplus
yoka06 0:76d1c7f13415 42 };
yoka06 0:76d1c7f13415 43 #endif
yoka06 0:76d1c7f13415 44
yoka06 0:76d1c7f13415 45
yoka06 0:76d1c7f13415 46 /* Disk Status Bits (DSTATUS) */
yoka06 0:76d1c7f13415 47
yoka06 0:76d1c7f13415 48 #define STA_NOINIT 0x01 /* Drive not initialized */
yoka06 0:76d1c7f13415 49 #define STA_NODISK 0x02 /* No medium in the drive */
yoka06 0:76d1c7f13415 50 #define STA_PROTECT 0x04 /* Write protected */
yoka06 0:76d1c7f13415 51
yoka06 0:76d1c7f13415 52
yoka06 0:76d1c7f13415 53 /* Command code for disk_ioctrl() */
yoka06 0:76d1c7f13415 54
yoka06 0:76d1c7f13415 55 /* Generic command */
yoka06 0:76d1c7f13415 56 #define CTRL_SYNC 0 /* Mandatory for read/write configuration */
yoka06 0:76d1c7f13415 57 #define GET_SECTOR_COUNT 1 /* Mandatory for only f_mkfs() */
yoka06 0:76d1c7f13415 58 #define GET_SECTOR_SIZE 2
yoka06 0:76d1c7f13415 59 #define GET_BLOCK_SIZE 3 /* Mandatory for only f_mkfs() */
yoka06 0:76d1c7f13415 60 #define CTRL_POWER 4
yoka06 0:76d1c7f13415 61 #define CTRL_LOCK 5
yoka06 0:76d1c7f13415 62 #define CTRL_EJECT 6
yoka06 0:76d1c7f13415 63 /* MMC/SDC command */
yoka06 0:76d1c7f13415 64 #define MMC_GET_TYPE 10
yoka06 0:76d1c7f13415 65 #define MMC_GET_CSD 11
yoka06 0:76d1c7f13415 66 #define MMC_GET_CID 12
yoka06 0:76d1c7f13415 67 #define MMC_GET_OCR 13
yoka06 0:76d1c7f13415 68 #define MMC_GET_SDSTAT 14
yoka06 0:76d1c7f13415 69 /* ATA/CF command */
yoka06 0:76d1c7f13415 70 #define ATA_GET_REV 20
yoka06 0:76d1c7f13415 71 #define ATA_GET_MODEL 21
yoka06 0:76d1c7f13415 72 #define ATA_GET_SN 22
yoka06 0:76d1c7f13415 73
yoka06 0:76d1c7f13415 74
yoka06 0:76d1c7f13415 75 #define _DISKIO
yoka06 0:76d1c7f13415 76 #endif