ADMASystem Address寄存器里存储的是地址描写叙述表(descriptor table)的首地址,当Block Count Enable使能时。通过Block Size和Block Count寄存器确定数据传输的大小,但总大小需和descriptor table的描写叙述同样,因为Block Count寄存器仅仅有16bit,表示的范围有限。 当Block Count Enable关闭时。数据传输的大小仅仅由descript...
FatFs 模块只使用下述与设备无关的命令,没有使用任何设备相关功能。 GET_SECTOR_SIZE 返回驱动器的扇区大小赋给 Buffer 指向的 WORD 变量。在单个扇区大小配置中(_MAX_SS 为 512) ,不需要该命令。 GET_SECTOR_COUNT 返回总扇区数赋给 Buffer 指向的 DWORD 变量。只在 f_mkfs 函数中,使用了该命令。 GET_BLO...
ADMASystem Address寄存器里存储的是地址描写叙述表(descriptor table)的首地址,当Block Count Enable使能时。通过Block Size和Block Count寄存器确定数据传输的大小,但总大小需和descriptor table的描写叙述同样,因为Block Count寄存器仅仅有16bit,表示的范围有限。 当Block Count Enable关闭时。数据传输的大小仅仅由descript...
break; /* Get R/W sector size (WORD) */ caseGET_SECTOR_SIZE: if(USBH_MSC_GetLUNInfo(&hUsbHostFS,lun,&info)==USBH_OK) { *(DWORD*)buff=info.capacity.block_size; res=RES_OK; } else { res=RES_ERROR; } break; /* Get erase block size in unit of sector (DWORD) */ caseGET...
BLOCK_SIZE, count);} if (sd_res) { res = RES_ERROR;} return res;} 也就是写出错的时候,...
*block_size = STORAGE_BLK_SIZ; return (USBD_OK); /* USER CODE END 3 */ } 修改USB读函数 int8_t STORAGE_Read_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len) { /* USER CODE BEGIN 6 */ blk_addr+=START_SECTOR; ...
case GET_SECTOR_SIZE: *(DWORD*)buff = 512; res = RES_OK; break; case GET_BLOCK_SIZE: *(WORD*)buff = SDCardInfo.CardBlockSize; res = RES_OK; break; case GET_SECTOR_COUNT: *(DWORD*)buff = SDCardInfo.CardCapacity/512; res = RES_OK; ...
(1); //释放SD卡 break; case GET_SECTOR_SIZE://获取扇区大小 *(DWORD*)buff = 512; res = RES_OK; //成功 break; case GET_BLOCK_SIZE: //获取块大小 *(WORD*)buff = 8; //块大小(扇区为单位),一块等于8个扇区 res = RES_OK; break; case GET_SECTOR_COUNT: //获取总扇区数量 *(...
{caseSPI_FLASH:switch(cmd){/* 扇区数量:6MB*1024*1024/4096=1536 */caseGET_SECTOR_COUNT:*(DWORD*)buff=1536;break;/* 扇区大小 */caseGET_SECTOR_SIZE:*(WORD*)buff=4096;break;/* 擦除的扇区个数 */caseGET_BLOCK_SIZE:*(DWORD*)buff=1;break;}status=RES_OK;break;default:status=RES_PAR...
(cmd) { case GET_SECTOR_COUNT://获取扇区数量 *(DWORD *)buff=SDCardInfo.CardCapacity/512; break; case GET_SECTOR_SIZE://获取扇区大小 *(DWORD *)buff=512; break; case GET_BLOCK_SIZE://块大小 *(DWORD *)buff=SDCardInfo.CardBlockSize; break; } return RES_OK; } return RES_PARERR; ...