SM32F103ZE и FAT FS

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Artem148
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Сб мар 29, 2014 18:04:50

SM32F103ZE и FAT FS

Сообщение Artem148 »

Здравствуйте, товарищи!

Кто-нибудь сталкивался с бесконечным циклом здесь: "sdcard.c ==> SD_WriteBlock() ==> while ((TransferEnd == 0) && (TransferError == SD_OK)){}" ?
Режим работы с флешкартой DMA.


Заранее спасибо!


P.S. Сам код:
СпойлерМой не работающий (взят из примера, присланного продавцом из Китая):

Код: Выделить всё


#include "stm32f10x.h"

#include "sdcard.h"
#include "ff.h"   

#include <stdio.h>
#include <string.h>


extern SD_CardInfo SDCardInfo;
extern SD_Error Status ;
extern u8 ASCII_Table[95][16];

SD_Error SD_InitAndConfig(void);
   

int main(void)
{      
   SD_InitAndConfig();

  FIL file;
  FATFS fs;
  FRESULT res;         

  disk_initialize(0);
   
  res = f_mount(0, &fs);
  res = f_open(&file, "TEST.txt", FA_CREATE_ALWAYS | FA_WRITE);
  res = f_lseek(&file,file.fsize);
  res = f_printf (&file,"1234567890\r\n" );
  res = f_close(&file);    
  res = f_mount(0, NULL);

  while(1)
  {   

  }
}


SD_Error SD_InitAndConfig(void)
{
 /////////////////////////////////////////////////////////////////////
  //////// SDCARD Initialisation //////////////////////////////////////
  /////////////////Section adapted from ST example/////////////////////
 
  /*---------- SD Init ---------- */
  Status = SD_Init();
 
  if (Status == SD_OK)
  {   
    /*---------- Read CSD/CID MSD registers ----------*/
    Status = SD_GetCardInfo(&SDCardInfo);
  }
  if (Status == SD_OK)
  {
   /*---------- Select Card ----------*/
    Status = SD_SelectDeselect((u32) (SDCardInfo.RCA << 16));
  }
  if (Status == SD_OK)
  {
    Status = SD_EnableWideBusOperation(SDIO_BusWide_4b);
  }
  /* Set Device Transfer Mode to DMA */
  if (Status == SD_OK)
  {
    Status = SD_SetDeviceMode(SD_DMA_MODE);//oet
  //  Status = SD_SetDeviceMode(SD_POLLING_MODE);
 //   Status = SD_SetDeviceMode(SD_INTERRUPT_MODE);
  }   
return Status;
}


P.P.S. Если эту строчку закоментировать, то всё нормально работает
Вложения
16-M3_SDIO+USB+FATFS.zip
Пример, присланный продавцом из Китая
(488.04 КБ) 117 скачиваний
Ответить

Вернуться в «ARM»