通过SPI 口 控制SD卡的问题

2019-07-21 04:04发布

   使用F103的SPI1 控制8G 的SD,读取的实际内存为7G,是不是有问题?
   执行这个函数时 res = f_mkfs("", FM_FAT32, 0, work, sizeof (work));提示下面的函数有错误,请问是什么原因? GET_BLOCK_SIZE 这个变量是设置什么的?不太明白
  DRESULT disk_ioctl (
BYTE pdrv,  /* Physical drive nmuber (0..) */
BYTE cmd,  /* Control code */
void *buff  /* Buffer to send/receive control data */
)
{
DRESULT res;
int result;
switch (pdrv) {
case DEV_SD :
  switch(cmd)
  {
   case CTRL_SYNC:
    if(Sd_disk_sync())
    {
     return RES_ERROR;
    }
    return RES_OK;
   case GET_SECTOR_COUNT:
    res = _sd_sectors();
    if(res >0 )
    {
     *((DWORD *)buff) = res;
     return RES_OK;
    }
    else
    {
     return RES_ERROR;
    }
   case GET_SECTOR_SIZE:
    *(DWORD *)buff = 512;
    res = RES_OK;
   case GET_BLOCK_SIZE:
    *(DWORD *)buff = 1;
    res = RES_OK;   
  }
  return res;
}
return RES_PARERR;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。