用原子哥的U盘HOST程序扫描曲目是没有任何问题的,关键是我把U盘的驱动那些加入到网络实现代码里面就出现这个问题了,对照了很多次,完全一模一样,所以现在很困惑,求助大神帮忙解决,万分感谢。
打开程序后首先出现:
USB OTG HS MSC Host
> USB Host library started.
USB Host Library v2.1.0
检测到USB设备插入!
复位设备...
全速(FS)USB设备!
VID: 0951h
PID: 1624h
从机地址分配成功!
可移动存储器设备!
Manufacturer: Kingston
Product: DataTraveler G2
Serial Number: 0019E06B7103BA70700000BB
设备枚举完成!
跳过用户确认步骤!
开始执行用户程序!!!
这个是调试信息,说明U盘已经正确的识别了。
然后在调试工具里面输入mf_scan_files("2:")
调试打印出来的是:
mf_scan_files("2:")
path = 2:
res = 3
u8 mf_scan_files(u8 * path)
{
FRESULT res;
char *fn; /* This function is assuming non-Unicode cfg. */
#if _USE_LFN
fileinfo.lfsize = _MAX_LFN * 2 + 1;
fileinfo.lfname = mymalloc(SRAMIN,fileinfo.lfsize);
#endif
printf("path = %s
",path);
res = f_opendir(&dir,(const TCHAR*)path);
printf("res = %d
",res);
if (res == FR_OK)
{
printf("
");
while(1)
{
res = f_readdir(&dir, &fileinfo);
if (res != FR_OK || fileinfo.fname[0] == 0) break;
//if (fileinfo.fname[0] == '.') continue;
#if _USE_LFN
fn = *fileinfo.lfname ? fileinfo.lfname : fileinfo.fname;
#else
fn = fileinfo.fname;
#endif /* It is a file. */
printf("%s/", path);
printf("%s
", fn);
}
}
myfree(SRAMIN,fileinfo.lfname);
return res;
}
f_opendir的返回值是3,我查了错误,提示是
FR_NOT_READY //驱动器号无效。 路径是正确的,已经初始化好了,按照原子哥的写的。
求助,万分感谢,想开发一款U盘插入就能自动播放曲目的一个程序!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
请问原子哥怎么使用呢?对这块不是很熟悉
一周热门 更多>