mmc.h

来自「本代码是采用ARM7TDMI内核的S3C44BOX芯片硬件测试程序」· C头文件 代码 · 共 65 行

H
65
字号
/************************************************************** * ARMSYS-P, LiYuTai elec. * * .h file for mmc functions ************************************************************/#include "../Target/44b.h"#include "../Target/44blib.h"#define CLR_SPICLK rPDATF&=~(1<<8);#define SET_SPICLK rPDATF|=(1<<8); #define CLR_SPITXD rPDATF&=~(1<<5);#define SET_SPITXD rPDATF|=(1<<5);#define READ_SPIRXD (rPDATF&(1<<7));//for MSB #define mmc_select()     rPDATB &= ~(1<<10);// rPDATE&=0xDF;#define mmc_deselect()   rPDATB |= (1<<10); // rPDATE|=0x20;void mcu_io_init_formmc(void){//GPF5:OutputTXD; GPF7:InputRXD;GPF8:CLKoutput;GPE5:Output	rPCONF&=~((7<<19)|(7<<16)|(7<<10));    rPCONF|=(1<<19)|(1<<10);	rPUPF&=0x5f;	rPCONB &= ~(1<<10);}unsigned char spi_byte(unsigned char dat){	int i,tmp,tmptxd, tmprxd=0;	tmptxd=dat;			for(i=0;i<8;i++)		{              CLR_SPICLK;			  			if(tmptxd&(0x80>>i))//MSB			{				SET_SPITXD;			}			else			{			    CLR_SPITXD;			}			              tmp=READ_SPIRXD;	       tmprxd|=tmp>>i;				SET_SPICLK;		}	return tmprxd;}		/************************** * mmc functions *************************/int mmc_init(void);int mmc_command(unsigned char, unsigned int, unsigned int );unsigned char mmc_get_r1(void);int mmc_get_r2(void);int mmc_print_card_info(void);int mmc_read_sector(unsigned long int, unsigned char *);int mmc_write_sector(unsigned long int, unsigned char *);unsigned char sdi_byte(unsigned char);void sdmmc_test(void);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?