コード例 #1
0
DSTATUS LPLD_Disk_Initialize(uint8 drv)
{
  if(drv)
    return RES_PARERR;
 
  return LPLD_SDHC_InitCard();
}
コード例 #2
0
ファイル: LPLD_SdCard.c プロジェクト: 67104492/LPLD_OSKinetis
void main (void)
{
  uint32 i;	
  //读写数据数组
  uint8  sdhc_dat_buffer1[BUFFER_SIZE];    
  //SD卡操作返回值
  SDHCRES sd_state;    
  
  //关中断
  DisableInterrupts;                                      
  
  //SDHC初始化
  sd_state = (SDHCRES)LPLD_SDHC_InitCard();  
  
  //开中断
  EnableInterrupts;			                            
  
  //判断SD卡操作状态
  if (SDHCRES_OK == sd_state)
  {
    printf("\r\nSD init success.\r\n");
    //读(多)扇区操作,并返回SD操作状态
    sd_state = LPLD_SDHC_ReadBlocks(sdhc_dat_buffer1, 0, BLOCK_LEN);
  }
  else
  {
    printf("\r\nSD init failure.\r\n");
  }
  
  //判断SD卡操作状态
  if (SDHCRES_OK == sd_state)
  {
    printf("Read disk success.\r\n");
    printf("SD data: \r\n");
    //若读成功,打印该扇区内容
    for(i = 0;i < BUFFER_SIZE;i++) 
    {
      printf("%02X ", sdhc_dat_buffer1[i]);
    }  
    printf("\r\n");
  }
  else
  {
    printf("Read disk failed.\n\r");
  }
  
  
  //判断SD卡操作状态
  if (SDHCRES_OK == sd_state)
  {
    printf("Update data success.\r\n");
    //更新数据数组,自加1
    for (i = 0; i < BUFFER_SIZE; i++)
    {
      sdhc_dat_buffer1[i] ++;
    }
    //写(多)扇区操作,并返回SD操作状态
    sd_state = LPLD_SDHC_WriteBlocks(sdhc_dat_buffer1, 0, BLOCK_LEN);  
  }
  
  //判断SD卡操作状态
  if (SDHCRES_OK == sd_state)
  {
    printf("Write Disk success.\r\n");
    //再次读(多)扇区操作,并返回SD操作状态
    sd_state = LPLD_SDHC_ReadBlocks(sdhc_dat_buffer1, 0, BLOCK_LEN);
  }
  else
  {
    printf("Write Disk failure.\r\n");
  }
  
  //判断SD卡操作状态
  if (SDHCRES_OK == sd_state)
  {
    printf("Read disk success.\r\n");
    printf("SD data: \r\n");
    //若读成功,打印该扇区内容
    for(i = 0;i < BUFFER_SIZE;i++) 
    {
      printf("%02X ", sdhc_dat_buffer1[i]);
    }
    printf("\r\n");
  }
  else
  {
    printf("Read disk failure.\r\n");
  }
  
  while(1)
  {
    
  } 
}