加了其他字符都返回找不到文件!如果要使用其他字符需要怎么修改?
默認情況下文件須符合DOS命名規則:即“8個(gè)或以下字符大寫(xiě)字母和數字組合的文件名”.“3個(gè)或以下字符大寫(xiě)字母和數字組合”
例如:
ABCD1234.ABC
12345678.123
1111QAZD.1A2
1A2B3C.4D
1.A
..........
就是只支持短文件名嘛。。
長(cháng)文件名的實(shí)現可以借鑒CH32F103的示例程序:http://www.fszrt.cn/downloads/CH32F103EVT_ZIP.html
其中HOST_Udisk下的EXAM13實(shí)現了對長(cháng)文件名的操作。
可以留下郵箱,移植完后發(fā)送給你。
郵件請發(fā) 個(gè)人信息保護,已隱藏?謝謝!
郵件已發(fā)
請問(wèn)這個(gè)生成長(cháng)文件名后,把u盤(pán)插到電腦上是不是看到的還是短文件名?
我這里沒(méi)有103的板子不能驗證,你能講一下他的原理嗎?
收到了,謝謝,驗證可行,不過(guò)能不能再麻煩你一下,把讀寫(xiě)文件都移植一下?
文件讀寫(xiě)和長(cháng)文件名功能無(wú)關(guān),實(shí)際文件操作對象都是短文件名,長(cháng)文件名只是一個(gè)“屬性”。
直接參考CH559EVT下EXAM1
U盤(pán)里的文件是我在電腦上建立的,然后再掛到559上,提示沒(méi)找到文件
長(cháng)文件名只是屬性,通俗講就是給你屏幕上看著(zhù)好辨認一點(diǎn)哪個(gè)是哪個(gè)。
提供的文件系統實(shí)際操作對象始終是短文件名。但電腦創(chuàng )建文件時(shí)短文件名不可見(jiàn),且要操作的對象就是短文件名。
所以U盤(pán)接入MCU后需要枚舉出所有文件(CH559EVT-EXAM11),嘗試獲取每個(gè)文件的長(cháng)文件名,通過(guò)對長(cháng)文件名進(jìn)行比對,判斷是否為需要的文件。
或者根據通用規則去檢索文件:
我以為是你的lib里面自動(dòng)去比對的,還要在外面枚舉和比對啊。。。
請再幫忙指點(diǎn)一下,確實(shí)沒(méi)想通。。
想要讀寫(xiě)電腦上創(chuàng )建的c.c文件,舉例如下:
執行函數枚舉對應目錄下所有文件,能夠獲取到每個(gè)文件短文件名:A.A、B.B、C.C、D.D.............等
執行函數對短文件名A.A獲取其長(cháng)文件名,得到長(cháng)文件名a.a;
執行函數對短文件名B.B獲取其長(cháng)文件名,得到長(cháng)文件名b.b;
執行函數對短文件名C.C獲取其長(cháng)文件名,得到長(cháng)文件名c.c;
執行函數對短文件名D.D獲取其長(cháng)文件名,得到長(cháng)文件名d.d;
其中c.c是在電腦上創(chuàng )建的長(cháng)文件名文件,可知該文件的短文件名即是C.C,后續文件讀寫(xiě)操作都針對短文件名C.C展開(kāi)。
這里有點(diǎn)疑問(wèn),這是什么