📄 sd_spi.h
字号:
/*!
*@file sd_spi.h
*
*
*
*@version v1.0.0
*@date 2007
*@author jacky291@126.com
*/
#ifndef __SD_SPI_H
#define __SD_SPI_H
#include "config.h"
#ifndef __IO_H
#include "io.h"
#endif
#ifndef __TIME_H
#include "time.h"
#endif
#define TIME_EN 1
#define SOFT_SPI_MODE 1
/*! pins define here */
#define SD_POWER_PIN 0x01
#if SOFT_SPI_MODE
#define SD_SPI_CS_PIN 0x05
#define SD_SPI_DATA_In_PIN 0x0B
#define SD_SPI_DATA_Out_PIN 0x07
#define SD_SPI_CLK_PIN 0x09
/* pins operations here */
#define SD_SPI_CSAssert() io_disAssert(1<<SD_SPI_CS_PIN)
#define SD_SPI_CSDisassert() io_assert(1<<SD_SPI_CS_PIN)
#define SD_SPI_DATA_In() io_read(1<<SD_SPI_DATA_In_PIN)
#define SD_SPI_Send_1() io_assert(1<<SD_SPI_DATA_Out_PIN)
#define SD_SPI_Send_0() io_disAssert(1<<SD_SPI_DATA_Out_PIN)
#define SD_SPI_CLK_UP() io_assert(1<<SD_SPI_CLK_PIN)
#define SD_SPI_CLK_DOWN() io_disAssert(1<<SD_SPI_CLK_PIN)
#else
/* pins config */
#define SD_SPI_CS_PIN 0x07
#define SD_SPI_DATA_In_PIN 0x06
#define SD_SPI_DATA_Out_PIN 0x05
#define SD_SPI_CLK_PIN 0x04
#define SD_SPI_FDIV 0x52
/* bit7--bit0 :中断|发送顺序|主从选择|时钟极性|CPHA|reserve|reserve */
#define SD_SPI_CONFIG 0x20
#endif
#define SPI_TIMEOUT 255
/*!
*@brief
* SPI_SPEED_Set
* set speed
*
*@param f:frequent
*@retval none
*/
extern void SD_SPI_Clk( uint32 f );
/*!
*@brief
* SD_SPI_Delay()
* delay
*
*@param delay:count value
*@retval none
*/
extern void SD_SPI_Delay(void);
/*!
*@brief
* SD_powerOn()
* powerOn
*
*@param none
*@retval none
*/
extern void SD_powerOn(void);
/*!
*@brief
* SD_powerOff()
* powerOff
*
*@param none
*@retval none
*/
extern void SD_powerOff(void);
/*!
*@brief
* SD_SPI_Init()
* init spi
*
*@param none
*@retval none
*/
extern void SD_SPI_Init(void);
/*!
*@brief
* SD_SPI_RevByte()
* receive the data
*
*@param none
*@retval the receive data(8 bits)
*/
extern uint8 SD_SPI_RecByte(void);
/*!
*@brief
* SD_SPI_SendByte(uint8 data)
* send the data
*
*@param the data sended(8 bits)
*@retval
*/
extern uint8 SD_SPI_SendByte(uint8 dat);
/*!
*@brief
* SD_SPI_WaitFor(uint32 timeout)
* wait for the response
*
*@param uint32 timeout:the timeout value
*@retval if the data arrived,return 0,else return SPI_TIME_OUT
*/
extern uint8 SD_SPI_WaitForLow(uint32 timeout);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -