打印

SD卡 块读写操作代码疑惑

[复制链接]
270|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
冰糖炖雪梨|  楼主 | 2018-7-27 08:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
源代码
//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]?

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

430

主题

436

帖子

0

粉丝