打印

求 EK_STM32F 开发板移稙好的FATFS的KEIL MDK包

[复制链接]
1493|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
BBSTOM|  楼主 | 2013-9-8 21:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
BBSTOM|  楼主 | 2013-9-9 10:21 | 只看该作者

disk_sta=disk_initialize(0);//disk_status       
f_mount(0, &fatfs[0]);
f_open(&fsrc, "0:/ABC.TXT", FA_CREATE_NEW | FA_READ);

出现
FR_NO_FILESYSTEM,                /* (13) There is no valid FAT volume */

本人使用SPI1 硬件 和 使用 IO 软件模拟SPI1读都是这样!

开发板就是万利电子的 EK-STM32F



#if defined(USE_EK_STM32F)

#define CARD_SUPPLY_SWITCHABLE   1
#define GPIO_PWR                 GPIOD
#define RCC_APB2Periph_GPIO_PWR  RCC_APB2Periph_GPIOD
#define GPIO_Pin_PWR             GPIO_Pin_10
#define GPIO_Mode_PWR            GPIO_Mode_Out_OD /* pull-up resistor at power FET */
#define SOCKET_WP_CONNECTED      0
#define SOCKET_CP_CONNECTED      0
#define SPI_SD                   SPI1
#define GPIO_CS                  GPIOD
#define RCC_APB2Periph_GPIO_CS   RCC_APB2Periph_GPIOD
#define GPIO_Pin_CS              GPIO_Pin_9
      
#define DMA_Channel_SPI_SD_RX    DMA1_Channel2
#define DMA_Channel_SPI_SD_TX    DMA1_Channel3
      
#define DMA_FLAG_SPI_SD_TC_RX    DMA1_FLAG_TC2
#define DMA_FLAG_SPI_SD_TC_TX    DMA1_FLAG_TC3
      
#define GPIO_SPI_SD              GPIOA
#define GPIO_Pin_SPI_SD_SCK      GPIO_Pin_5
#define GPIO_Pin_SPI_SD_MISO     GPIO_Pin_6
#define GPIO_Pin_SPI_SD_MOSI     GPIO_Pin_7
#define RCC_APBPeriphClockCmd_SPI_SD  RCC_APB2PeriphClockCmd
#define RCC_APBPeriph_SPI_SD     RCC_APB2Periph_SPI1


/* - for SPI1 and full-speed APB2: 72MHz/4=18MHZ */
#define SPI_BaudRatePrescaler_SPI_SD  SPI_BaudRatePrescaler_4

#endif

/*******************************************************************************
* Function Name  : static void MMC_SPI_Config(void)
* Description    : 初始化 SPI1作为SD卡的读写驱动
* Input          : None
* Output         : None
* Return         : None
* Attention             : None
*******************************************************************************/
void MMC_SPI_Config(void)
{
    SPI_InitTypeDef  SPI_InitStructure;
    GPIO_InitTypeDef GPIO_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA  |
            RCC_APB2Periph_GPIOD |
            RCC_APB2Periph_AFIO |
            RCC_APB2Periph_SPI1,
            ENABLE);

    //RCC_PCLK2Config(RCC_HCLK_Div4); //72/4=18MHz  降APB2时钟
      
          //SPI MISO GPIO_Pin_SPI_SD_MISO
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//上拉输入
    GPIO_Init(GPIOA, &GPIO_InitStructure);      
      
    /* Configure SPI1 pins:  SCK, MISO and MOSI */
    GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_SPI_SD_SCK | GPIO_Pin_SPI_SD_MISO| GPIO_Pin_SPI_SD_MOSI;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_Init(GPIOA, &GPIO_InitStructure);


    /* Configure PD9 pin: CS pin  ,PD10 : SD Power as Output push-pull, used as Flash Chip select */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOD, &GPIO_InitStructure);

    /* SPI1 configuration */
    SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
    SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
    SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
    SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;         //CPOL=1 时钟悬空高
    SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;        //CPHA=1 数据捕获第二个
    SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
    SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;
    SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
    SPI_InitStructure.SPI_CRCPolynomial = 7;
    SPI_Init(SPI1, &SPI_InitStructure);

    /* Enable SPI1  */
    SPI_Cmd(SPI1, ENABLE);   
               
               
}

使用特权

评论回复
板凳
BBSTOM|  楼主 | 2013-9-9 13:29 | 只看该作者
WJ

SD_FAT2(ok).rar

1.81 MB

使用特权

评论回复
地板
angerbird| | 2013-9-17 23:14 | 只看该作者
这个一致起来看着还是很复杂的啊:funk::funk:

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

282

帖子

1

粉丝