• 大小: 494KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: 其他
  • 标签: SD卡  SPI驱动  

资源简介

SD卡驱动代码,使用SPI接口(模拟+硬件都有),附带FATFS文件系统及测试样例,不是整个工程,但也很方便移植的(只需要在main.c中初始化IO口,即可直接使用文件系统的函数驱动SD卡了)。

资源截图

代码片段和文件信息

/**
  ******************************************************************************
  * @file    SPI_MSD0_Driver.c
  * $Author: wdluo $
  * $Revision: 17 $
  * $Date:: 2012-07-06 11:16:48 +0800 #$
  * @brief   主函数.
  ******************************************************************************
  * @attention
  *
  *

© Copyright 2009-2012 ViewTool

  *
http://www.viewtool.com

  *
All Rights Reserved


  * 
  ******************************************************************************
  */
/* Includes ------------------------------------------------------------------*/
#include “sd_spi.h“
#include “delay.h“
#include “usart2.h“

/* Private define ------------------------------------------------------------*/
#ifdef PRINT_INFO
uint8_t SD_SPI_Printf_Buff[SD_SPI_PRINTF_BUFF_LEN] = {0};
uint8_t SD_SPI_Printf_Len = 0;
#endif

/* Private variables ---------------------------------------------------------*/
MSD_CARDINFO SD0_CardInfo;

/*******************************************************************************
* Function Name  : MSD0_spi_read_write
* Description    : None
* Input          : - data:
* Output         : None
* Return         : None
* Attention  : None
*******************************************************************************/
//__inline int MSD0_spi_read_write(uint8_t data)
//{
//  /* Loop while DR register in not emplty */
//  //while (SPI_I2S_GetFlagStatus(SPI1 SPI_I2S_FLAG_TXE) == RESET);
//  while(!(SPI1->SR & SPI_I2S_FLAG_TXE));

//  /* Send byte through the SPI1 peripheral */
//  //SPI_I2S_SendData(SPI1 data);
//  SPI1->DR = data;

//  /* Wait to receive a byte */
//  //while (SPI_I2S_GetFlagStatus(SPI1 SPI_I2S_FLAG_RXNE) == RESET);
//  while(!(SPI1->SR & SPI_I2S_FLAG_RXNE));

//  /* Return the byte read from the SPI1 bus */
//  //return SPI_I2S_ReceiveData(SPI1);
//  return SPI1->DR;
//}
u8 flag_speed = 0; //0--低速  1--高速
u8 MSD0_spi_read_write(u8 byte)
{
u8 i  Dat = 0;
// SD_CS_LOW();
if(flag_speed == 0)
{
delay_ms(1);
}
for(i=0;i<8;i++)
{
        Dat<<=1;      
SD_SCK_LOW();
if(flag_speed == 0)
{
delay_ms(1);
}
(byte&0x80)? SD_MOSI_HIGH() : SD_MOSI_LOW();  //三目运算符传输数据
SD_SCK_HIGH();
if(flag_speed == 0)
{
delay_ms(1);
}
        Dat |= READ_SD_MISO();
byte<<=1;
if(flag_speed == 0)
{
delay_ms(1);
}
        
}
    
// SD_CS_HIGH();
    delay_ms(1);
    
//    SD_MOSI_HIGH(); //  释放MOSI   
    return Dat;
}


/*******************************************************************************
* Function Name  : MSD0_SPI_Configuration
* Description    : SD Card SPI Configuration
* Input          : None
* Output         : None
* Return         : None
* Attention  : None
*******************************************************************************/
void MSD0_SPI_Configuration(void)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6505  2011-09-06 00:06  FATFS\00readme.txt

     文件       7585  2020-07-31 09:56  FATFS\diskio.c

     文件       2438  2011-01-03 21:11  FATFS\diskio.h

     文件     141694  2020-08-03 15:57  FATFS\ff.c

     文件      12334  2011-09-05 13:42  FATFS\ff.h

     文件       7519  2020-08-10 16:11  FATFS\ffconf.h

     文件        856  2010-04-24 23:45  FATFS\integer.h

     文件     249488  2010-05-09 23:52  FATFS\option\cc932.c

     文件     724232  2010-04-29 17:38  FATFS\option\cc936.c

     文件     567684  2010-05-08 23:28  FATFS\option\cc949.c

     文件     450696  2010-04-29 17:38  FATFS\option\cc950.c

     文件      30169  2010-08-25 00:22  FATFS\option\ccsbcs.c

     文件       4709  2011-05-21 18:01  FATFS\option\syscall.c

     文件       9286  2020-08-14 09:49  sd_spi.h

     文件      25988  2020-08-14 09:50  sd_spi.c

     文件       1652  2020-08-14 10:53  sd_task.h

     文件       8418  2020-08-26 16:18  sd_task.c

    ..AD...         0  2020-08-26 16:16  FATFS\option

     目录          0  2020-08-26 16:16  FATFS

----------- ---------  ---------- -----  ----

              2251253                    19


评论

共有 条评论