源代码
//buf:读缓冲区
//addr:读取地址
//blksize:块大小
SD_Error SD_ReadBlock(u8 *buf,long long addr,u16 blksize)
{
...
//配置DPSM
SDIO_DataBlockSize= power<<4 ; //设置 块大小
SDIO_DataInitStructure.SDIO_DataLength= blksize ; //设置 数据的长度
SDIO_DataInitStructure.SDIO_DataTimeOut=SD_DATATIMEOUT ;
SDIO_DataInitStructure.SDIO_DPSM=SDIO_DPSM_Enable;
SDIO_DataInitStructure.SDIO_TransferDir=SDIO_TransferDir_ToSDIO;
SDIO_DataInitStructure.SDIO_TransferMode=SDIO_TransferMode_Block;
SDIO_DataConfig(&SDIO_DataInitStructure);
...
}
第一行:SDIO_DataInitStructure.SDIO_DataBlockSize= power<<4 ;
疑问:power左移4的真正目的是什么,为什么不直接设置块大小[1,2,4,8,16,32...16384]? |