📄 mmc.h
字号:
/*#######################################################################################
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -