⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmcmain.h

📁 KEIL单片机有关知识,对想学此系列单偏机的朋友应该有用的哦
💻 H
字号:
/*---------------------------------------------------------------------------------------------
* Name: MMCMAIN.H
* Purpose: SD卡主程序头文件
* Version: V1.00
*--------------------------------------------------------------------------------------------*/
#define CCLK 60000000 							//CPU频率60MHz
#define MAX_BLOCK_NUM 0x80						//最大块数
												//LED定义   共阴极接法
#define LED_MSK 0x00FF0000 						//P1.16-P1.23做LED输出
#define LED_RD 0x00010000 						//P1.16 LED1 读指示灯
#define LED_WR 0x00020000 						//P1.17 LED2 写指示灯
#define LED_IE 0x00040000 						//P1.18 LED3 初始化失败
#define LED_WE 0x00080000 						//P1.19 LED4 写入失败
#define LED_RE 0x00100000 						//P1.20 LED5 读出失败
#define LED_JE 0x00200000 						//P1.21 LED6 写校验失败
#define LED_CFG 0x00400000 						//P1.22 LED7 工作指示灯
#define LED_DONE 0x00800000 					//P1.23 LED8 操作完成指示灯
#define BEEP 0x00010000							//P0.16 蜂鸣器定义
/*----------------------------------------------------------------------
* Name: SPI_MMC.H
* Purpose: SPI mode SD/MMC card interface driver
* Version: V1.03
* Copyright (c) 2006 NXP Semiconductor. All rights reserved.
*---------------------------------------------------------------------*/
#ifndef __SPI_MMC_H__
#define __SPI_MMC_H__
/* SPI select pin */
#define SPI_SEL 0x00100000	      //P0.20

/* The SPI data is 8 bit long, the MMC use 48 bits, 6 bytes */
#define MMC_CMD_SIZE 6
/* The max MMC flash size is 256MB */
#define MMC_DATA_SIZE 512 /* 16-bit in size, 512 bytes */
#define MAX_TIMEOUT 0xFF
#define IDLE_STATE_TIMEOUT		1
#define OP_COND_TIMEOUT 2
#define SET_BLOCKLEN_TIMEOUT 3
#define WRITE_BLOCK_TIMEOUT 4
#define WRITE_BLOCK_FAIL 5
#define READ_BLOCK_TIMEOUT 6
#define READ_BLOCK_DATA_TOKEN_MISSING 7
#define DATA_TOKEN_TIMEOUT 8
#define SELECT_CARD_TIMEOUT 9
#define SET_RELATIVE_ADDR_TIMEOUT 10

void SPI_Init( void );
void SPI_Send( uint8 *Buf, uint32 Length );
void SPI_Receive( uint8 *Buf, uint32 Length );
uint8 SPI_ReceiveByte( void );
int mmc_init(void);
int mmc_response(uint8 response);
int mmc_read_block(uint32 block_number);
int mmc_write_block(uint32 block_number);
int mmc_wait_for_write_finish(void);
#endif /* __SPI_MMC_H__ */

⌨️ 快捷键说明

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