|
|
发表于 2019-2-26 14:30:50
|
显示全部楼层
终于明白你问的啥了,这里有现成的例子,参考即可
基于V5板子的SPI Flash文件系统+SPI Flash虚拟U盘例子下载(2015-11-03新升级)
https://forum.anfulai.cn/forum.ph ... id=14894&fromuid=58
(出处: 安富莱电子论坛)

多大的count都可以,直接调用函数即可sf_WriteBuffer((uint8_t *)buff, sector << 12, count<<12);
- /*-----------------------------------------------------------------------*/
- /* Write Sector(s) */
- /*-----------------------------------------------------------------------*/
- #if _USE_WRITE
- DRESULT disk_write (
- BYTE pdrv, /* Physical drive nmuber (0..) */
- const BYTE *buff, /* Data to be written */
- DWORD sector, /* Sector address (LBA) */
- BYTE count /* Number of sectors to write (1..128) */
- )
- {
- switch (pdrv) {
-
- case FS_SPI_FLASH :
- {
- #if 0
- uint8_t i;
- BYTE *p;
-
- p = (BYTE *)buff;
- for(i = 0; i < count; i++)
- {
- sf_WriteBuffer((uint8_t *)p, (sector+i) << 12, 4096);
- p += 4096;
- }
- #else
- sf_WriteBuffer((uint8_t *)buff, sector << 12, count<<12);
- #endif
- return RES_OK;
- }
-
- }
-
- return RES_PARERR;
- }
- #endif
复制代码
|
|