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

📄 mc_port.h

📁 基于STR710 spi接口的MMC/SD卡(SPI模式)驱动程序
💻 H
字号:
/****************************************Copyright (c)**************************************************
**                                      
**                                          公 司
**                                          部 门
**
**                                 http://www.chipapp.com
**
**--------------文件信息--------------------------------------------------------------------------------
** 文 件 名: mc_port.h
** 创 建 人: 罗辉联
** 创建日期: 2006年5月27日
** 描    述: 该文件包含MMC/SD硬件抽象层函数原型、宏、枚举等定义
**
**--------------历史版本--------------------------------------------------------------------------------
** 创 建 人: 罗辉联
** 版    本: V1.0
** 日   期: 2006年5月27日
** 描   述: 原始版本
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

#ifndef __MC_PORT_H
#define __MC_PORT_H

#ifdef __cplusplus
    extern "C" {
#endif


#include "gpio.h"
#include "bspi.h"

/****************************************** 局部宏定义 **********************************************/
#define MC_PORT					(1)			/* BSPI1 */
#define MC_CS_CONTROL			(1)			/* GPIO1 */
#define MC_WP_CONTROL			(2)
#define MC_INSERT_CONTROL       (1)
#define MC_SPI_PIN_PORT			(0)

#define MC_GPIO_MISO			(4)
#define MC_GPIO_MOSI			(5)
#define MC_GPIO_SCLK			(6)

#define MC_GPIO_CS				(1)
#define MC_GPIO_WP				(8)
#define MC_GPIO_INSERT			(3)


#define MC_CS_CFG()					GPIO_ModeConfig(MC_CS_CONTROL,MC_GPIO_CS,GPIO_OUT_PP)

#define MC_WRITE_PROTECTED_CFG()	GPIO_ModeConfig(MC_WP_CONTROL,MC_GPIO_WP,GPIO_IPUPD)		

#define MC_CARD_INSERTED_CFG()  	GPIO_ModeConfig(MC_INSERT_CONTROL,MC_GPIO_INSERT,GPIO_IPUPD)


#define MC_CS_ENABLE()				GPIO_SetBit(MC_CS_CONTROL,MC_GPIO_CS,0)

#define MC_CS_DISABLE()				GPIO_SetBit(MC_CS_CONTROL,MC_GPIO_CS,1)	

#define MC_WP_STATUS()				0//GPIO_ReadBit(MC_WP_CONTROL,MC_GPIO_WP) 

#define MC_CARD_INSERTED_STATUS() 	1//GPIO_ReadBit(MC_INSERT_CONTROL,MC_GPIO_INSERT) 

	
#define MC_MISO_PIN_CONFIG()			GPIO_ModeConfig(MC_SPI_PIN_PORT,MC_GPIO_MISO,GPIO_AF_PP)
#define MC_MISO_PIN_LOW()				GPIO_SetBit(MC_SPI_PIN_PORT,MC_GPIO_MISO,0)

#define MC_MOSI_PIN_CONFIG()			GPIO_ModeConfig(MC_SPI_PIN_PORT, MC_GPIO_MOSI, GPIO_AF_PP) 
#define MC_MOSI_PIN_LOW()				GPIO_SetBit(MC_SPI_PIN_PORT,MC_GPIO_MOSI,0)

#define MC_SCLK_PIN_CONFIG()			GPIO_ModeConfig(MC_SPI_PIN_PORT, MC_GPIO_SCLK, GPIO_AF_PP)	
#define MC_SCLK_PIN_LOW()				GPIO_SetBit(MC_SPI_PIN_PORT,MC_GPIO_SCLK,0)


#define MC_SPI_CFG()				BSPI_Init(MC_PORT, MASTER)

#define MC_CLK_CFG(divider)			BSPI_ClockDividerConfig(MC_PORT, (divider))

#define MC_CLK_400K()				BSPI_ClockDividerConfig(MC_PORT, 128)

#define MC_CLK_MAX()				BSPI_ClockDividerConfig(MC_PORT, 48)	/* 6M */			


/******************************************  枚举类型定义 **********************************************/

/****************************************** 结构体类型定义 *********************************************/

/***************************************** 全局变量声明 ************************************************/

/***************************************** 外部函数声明 ************************************************/
void mc_port_init(void);
void mc_send_byte(UWORD8 byte);
UWORD8 mc_receive_byte(void);
UWORD8 mc_check_card(void);
UWORD8 mc_sd_metch_wp_status(void);

#ifdef __cplusplus
    }
#endif

#endif // _MC_PORT_H

/**********************************************end of file***********************************************/
	

⌨️ 快捷键说明

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