我看沁恒提供的例程中EXAM1中: #define CH375_CMD_PORT_ADDR 0xBDF1 /* CH375命令端口的I/O地址 */ #define CH375_DAT_PORT_ADDR 0xBCF0 /* CH375數(shù)據(jù)端口的I/O地址 */ 這個(gè)地址是完全由硬件電路決定嗎?不用考慮CH375內(nèi)部的一些東西吧? CH375評(píng)估板上用62256擴(kuò)展外部RAM,它的地址是0000H~7FFFH,例程中: #define DISK_BASE_BUF_ADDR 0x0000 /* 外部RAM的磁盤數(shù)據(jù)緩沖區(qū)的起始地址,從該單元開始的緩沖區(qū)長度為SECTOR_SIZE */ #define DISK_BASE_BUF_LEN 4096 /* 默認(rèn)的磁盤數(shù)據(jù)緩沖區(qū)大小為512字節(jié),建議選擇為2048甚至4096以支持某些大扇區(qū)的U盤,為0則禁止在.H文件中定義緩沖區(qū)并由應(yīng)用程序在pDISK_BASE_BUF中指定 */ #define FILE_DATA_BUF_ADDR 0x1000 /* 外部RAM的文件數(shù)據(jù)緩沖區(qū)的起始地址,緩沖區(qū)長度不小于一次讀寫的數(shù)據(jù)長度 */ /* 由于演示板用的62256只有32K字節(jié),其中CH375子程序用512字節(jié),所以外部RAM剩余長度為32256字節(jié) */ #define FILE_DATA_BUF_LEN 0x6800 /* 外部RAM的文件數(shù)據(jù)緩沖區(qū),緩沖區(qū)長度不小于一次讀寫的數(shù)據(jù)長度 */ /* 如果準(zhǔn)備使用雙緩沖區(qū)交替讀寫,那么不要定義FILE_DATA_BUF_LEN,而是在參數(shù)中指定緩沖區(qū)起址,用CH375FileReadX代替CH375FileRead,用CH375FileWriteX代替CH375FileWrite */ 這是不是意味著磁盤數(shù)據(jù)緩存區(qū)和文件數(shù)據(jù)緩存區(qū)都在外部RAM中,那單片機(jī)內(nèi)部的RAM呢?它不是也有一個(gè)地址嗎?會(huì)不會(huì)和外部RAM沖突???它只用以上幾條語句就可以使得數(shù)據(jù)都自動(dòng)放在外部RAM中嗎?
查看: 1549
回復(fù): 4
[求助]關(guān)于CH375評(píng)估板的一些問題
獨(dú)自—習(xí)慣
發(fā)表于: 2013-07-11 18:02:00
熱門產(chǎn)品 :
CH32L103: 32位PDUSB低功耗單片機(jī)
單片機(jī)的內(nèi)部RAM只是一些變量的定義用到,總共就256個(gè)字節(jié)。定義外部變量的定義為XDATA這個(gè)特殊字段之后編譯器就將這個(gè)變量定義至外部RAM,至于分配的RAM地址是在0-7FFF之間隨機(jī)分配的。
獨(dú)自—習(xí)慣
發(fā)表于: 2013-07-12 09:00:00
#define CH375_CMD_PORT_ADDR 0xBDF1 /* CH375命令端口的I/O地址 */ #define CH375_DAT_PORT_ADDR 0xBCF0 /* CH375數(shù)據(jù)端口的I/O地址 */ 這個(gè)地址是完全由硬件電路決定嗎?不用考慮CH375內(nèi)部的一些東西吧?
是的 138的Y3接CH375的CS腳,51的P2.0接CH375的A0腳。
獨(dú)自—習(xí)慣
發(fā)表于: 2013-07-12 14:01:00
明白了,謝謝!
請(qǐng)勿發(fā)布廣告和違法內(nèi)容, 代碼可以選擇編輯器代碼語言格式, 更易他人閱讀幫助您, 或者留下聯(lián)系方式,以便更好更快服務(wù)您
只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄