打印

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

[复制链接]
2965|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gongavr|  楼主 | 2011-2-27 20:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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 应该怎么写。
或都有现成的程序给我看看也行。谢谢

相关帖子

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

本版积分规则

3

主题

5

帖子

0

粉丝