gongavr 发表于 2011-2-27 20:21

请教一个FATFS中如何写disk_read的问题

本帖最后由 gongavr 于 2011-2-27 20:23 编辑

经过一段时间学UCOS
现在已经能够运行任务.用GUI画点线圆.
我想把开发板上的1G NAND FLASH 用上来.于是想学FATFS
已经能读到k9n1g08FLASH芯片的ID。并显示到LCD上了。
在写diskio.c 的时候卡住了。不知道如何弄。
就在网上找资料。想先调通再学习。
现在出现一个数据类弄不匹配的问题。但我不知道应该怎么弄。

/网上找的disk_read
DRESULT disk_read (
BYTE drv,/* Physical drive nmuber (0..) */
BYTE *buff,/* Data buffer to store read data */
DWORD sector, /* Sector address (LBA) */
BYTE count/* Number of sectors to read (1..255) */
)
{
DRESULT res;
int result;
            if (drv || !count){return RES_PARERR;}
   result = FSMC_NAND_ReadSmallPage(buff, sector, count);                                             
      if(result & NAND_READY){return RES_OK; }
      else { return RES_ERROR;}

return res;

return RES_PARERR;
}
/
/nand读
u32 FSMC_NAND_ReadSmallPage(u8 *pBuffer, NAND_ADDRESS Address, u32 NumPageToRead)
/
/NAND读中。Address 是一个结构类型为NAND_ADDRESS的结构体
typedef struct
{
u16 Zone;
u16 Block;
u16 Page;
} NAND_ADDRESS;

而disk_read 中传过来的DWORD 参数却是 u32 typedef unsigned long DWORD;
与是MDK报数据类型不匹配。请问disk_read 应该怎么写。
或都有现成的程序给我看看也行。谢谢
页: [1]
查看完整版本: 请教一个FATFS中如何写disk_read的问题