thanks!
電子盤模塊CH375EDM ,單片機系統(tǒng)可以直接使用CH375讀寫U 盤,將U盤當(dāng)作大容量閃存使用。
下面是電子盤模塊CH375EDM 的電路圖,用于插入在兼容SRAM-6264 引腳的DIP28 插座中。 單片機系統(tǒng)應(yīng)該提供兼容SRAM-6264引腳的DIP28插座,電子盤模塊應(yīng)該插入該DIP28插座中, 然后在電子盤的模塊的P1 端口插入U 盤(USB 閃存盤)或者通過USB 延長線插入U 盤。 以原SRAM-6264 的片選地址作為基址,各端口地址如下: 基址加0 的地址為CH375 的數(shù)據(jù)端口, 基址加1 的地址為CH375 的命令端口, 基址加2 的地址為CH375 的狀態(tài)端口,其中位0 為CH375 的INT#引腳狀態(tài)。 要使用電子盤模塊,單片機系統(tǒng)必須給DIP 插座提供以下信號: 低電平有效的CE#片選信號和高電平有效的CE 片選信號,與SRAM-6264 兼容; 低電平有效的RD#/OE#讀選通信號,低電平有效的WR#/WE#寫選通信號,與SRAM-6264 兼容; 地址線A1 和A0,雙向數(shù)據(jù)總線D7-D0,與SRAM-6264 兼容; 可選的中斷信號,從DIP28 插座的第1 腳輸出,當(dāng)跳線J1 連接1-2 時提供低電平中斷信號,當(dāng) 跳線J1 連接2-3 時提供高電平中斷信號。 單片機系統(tǒng)可以直接使用CH375讀寫U 盤,將U盤當(dāng)作大容量閃存使用。如果需要使用文件系統(tǒng) 以文件格式讀寫數(shù)據(jù),可以使用CH375的U 盤文件級子程序庫,只要在程序中設(shè)置正確的端口地址, 相關(guān)的示例程序都可以直接使用。
可惜都不是實時系統(tǒng)的?。。?/p>
哈哈,你幾個挺有意思,我也看看
我用這個程序有幾個問題,不知誰能幫我一下: 我用51系列仿真器,MCU 12M, CH375 12M U盤為GEIL 512M FAT16 主程序中許多寫命令字的地方要加延時才能初始化U盤,要不單步運行也能初始化。 在UINT8 mReadSector( UINT32 iLbaStart, UINT8 iSectorCount, UINT8X *oDataBuffer )這個函數(shù)中, 第一次能讀到64個字節(jié),第二次只能讀到13個字節(jié),第三次循環(huán)在第一個c = mWaitInterrupt( ); /* 等待中斷并獲取狀態(tài) */處死等了。 試了很多次,第一二字節(jié)都是FA 33 有一次多讀了一些字節(jié),里有有段英文,內(nèi)容是“錯誤的磁盤”之類的話。 另外,MCU復(fù)位后,中斷引腳常為低,在主程序中最前面加一句CH375_WR_CMD_PORT(0x05);才可解決此問題。
謝謝!
很經(jīng)典,下載下來慢慢看
這個程序只能讀寫FAT16文件系統(tǒng)U盤,現(xiàn)在大多數(shù)U盤是FAT32文件系統(tǒng),如果讀寫FAT16文件系統(tǒng)的U盤,對上述程序要做哪些修改,由于我對文件系統(tǒng)不太懂,希望指教,謝謝!!
實際FAT16和FAT32在文件系統(tǒng)上面的原理是一樣的,只是在一些參數(shù)上面不一樣而已,例如如果是FAT32的話,那么FAT表的4位代表一個簇號,而FAT16則是2位代表一個簇號,F(xiàn)AT16比FAT32多了根目錄,以及2個的DBR不相同
好極了,有沒有asm寫的,我只讀不寫。
.h文件也發(fā)來看看啊啊
有沒FAT32的例子程序?
我們沒有提供,如果你的單片機是MCS51、AVR、ARM、430等,建議使用我們的子程序庫
下載:CH375(4)LIB.ZIP,里面是文件庫,參考程序在MCS51文件夾下面.
真的不錯,但還是不知道庫中的C程序。呵