本帖最后由 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 应该怎么写。
或都有现成的程序给我看看也行。谢谢 |