[求助] LPC 1788 USB HOST 模式如何对FAT32 U盘进行读写

wangxd13   2016-6-30 20:04 楼主
求助,

目前采取了两种方法,

一种是用NXP的USBHOSTLite例程,问题是只支持fat16格式,无法识别fat32格式的U盘。

另一种采用网上提供的USB host的Fatfs移植,主程序如下。问题是f_open返回的是FR_NO_FILESYSTEM,而debug发现在调用check_fs函数中,执行判断时,条件“LD_WORD(&fs->win[BS_55AA]) != 0xAA55”成立,导致程序认为U盘不是fat格式。
Debug显示,fs->win[BS_55AA]是0,而其实在主程序的上一步“ f_mount(0,&fs);”执行后,debug显示fs的各项就全是0,所以是不是在f_mount这里就出错了?正确情况下,f_mount之后,fs应该是什么样?


初次接触LPC1788 和 fatfs,还请各位大侠多多赐教!

int main()
{

  uint32_t  numBlks, blkSize;
  uint8_t  inquiryResult[INQUIRY_LENGTH];
    USB_INT32S  rc;
    int32_t  fdw;
    int32_t  fdr;       
    uint32_t  bytes_written;
    uint32_t  bytes_read;       
    SystemInit();
    //disk_initialize(0);
    Host_Init ();
    rc = Host_EnumDev();       /* Enumerate the device connected  */       
    rc = MS_Init( &blkSize, &numBlks, inquiryResult );
    f_mount(0,&fs);       
    res = f_open( &fsrc , "0:/Demo.TXT" , FA_CREATE_NEW | FA_WRITE);       
    res = f_close(&fsrc);       
    while(1);

}

回复评论 (4)

我这边也是usb host有点问题,我移植fatfs了,但是写数据有问题。读数据和挂载没有问题,我qq你可以加我295127703
点赞  2016-8-6 15:13
"0:/Demo.TXT" 是不是 “demo.txt"?
点赞  2016-11-4 08:11
楼主的问题搞定了吗?
点赞  2018-1-20 22:13
我也遇到这个问题,求指教。
点赞  2018-1-20 22:13
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复