打印

外接flash挂载fatfs中,disk_write中的扇区擦除数量问题?

[复制链接]
464|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
roucun|  楼主 | 2020-4-20 12:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在官方提供的stm32外接FLASH挂载fatfs的代码中,disk_write函数有下面两句代码:
     SPI_FLASH_SectorErase(sector*4096);
    SPI_FLASH_BufferWrite((u8*)buff, sector*4096, count*4096);
在第二行中的这个代码中,count代表了要写的sector的数量,在写之前应该擦除这些扇区,但是在扇区擦除的时候却只擦除了一个扇区,对其他的扇区没有进行擦除,这个时候心中就有点儿疑问。
但是呢,在看到disk_ioctl中的:      
          case GET_BLOCK_SIZE :
          *(DWORD * )buff = 1;
在这里定义了buff的数量为1。是在这里设置了为1之后擦写就可以只擦除一个扇区吗?如果这里将buff = 2.是不是擦除扇区那里就要改写一下。

使用特权

评论回复

相关帖子

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

本版积分规则

421

主题

446

帖子

0

粉丝