mmc.h
来自「老外写的基于arm的sd/mmc读写程序」· C头文件 代码 · 共 67 行
H
67 行
/*#######################################################################################
Connect ARM to MMC/SD
Copyright (C) 2004 Ulrich Radig
#######################################################################################*/
#ifndef _MMC_H_
#define _MMC_H_
#include <arch/philips/lpc2119.h>
#include "typedefs.h"
// SPCR Control Register 0
#define MSTR BIT5 // SPI MODE Master/Slave
#define CPOL BIT4 // Clock Out Polarity
#define CPHA BIT3 // Clock Out Phase
// SPSR Status Register
#define SPIF BIT7 // BUSY
// SPI-IOSET-Maske
#define SPI0_IOSET_MASK 0x00005500 // SS,SCK,MISO und MOSI f黵 SPI1 einschalten
//-----------------------------------------------------------------------------
#define MMC_Write GPIO0_IOPIN //Port an der die MMC/SD-Karte angeschlossen ist also des SPI
#define MMC_Read GPIO0_IOPIN
#define MMC_Direction_REG GPIO0_IODIR
#define SPI_DI 5 //Port Pin an dem Data Output der MMC/SD-Karte angeschlossen ist
#define SPI_DO 6 //Port Pin an dem Data Input der MMC/SD-Karte angeschlossen ist
#define SPI_Clock 4 //Port Pin an dem die Clock der MMC/SD-Karte angeschlossen ist (clk)
#define MMC_Chip_Select 10 //Port Pin an dem Chip Select der MMC/SD-Karte angeschlossen ist
#define SPI_SS 7 //Nicht benutzt
//Prototypes
inline U08 mmc_read_byte(void);
inline void mmc_write_byte(U08);
extern void mmc_read_block(U08 *,U08 *,U16);
extern U08 mmc_init(void);
extern U08 mmc_read_sector (U32,U08 *);
extern U08 mmc_write_sector (U32,U08 *);
extern U08 mmc_write_command (U08 *);
extern U08 mmc_read_csd (U08 *);
extern U08 mmc_read_cid (U08 *);
//set MMC_Chip_Select to high (MMC/SD-Karte Inaktiv)
#define MMC_Disable() MMC_Write|= (1<<MMC_Chip_Select);
//set MMC_Chip_Select to low (MMC/SD-Karte Aktiv)
#define MMC_Enable() MMC_Write&=~(1<<MMC_Chip_Select);
#define nop() __asm__ __volatile__ ("nop" ::)
#endif //_MMC_H_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?