我不知道你們是有意還是無意的給我們提供的資料很多錯誤,是我走了很多彎路,我購買貴公司的U盤讀寫模塊,在提供的資料里面,我按你們提供的電路圖接電路,可是你們居然把74LS138的4.5.6三條控制線接電源接地都搞錯了,我是剛做這方面的工作,自然不知道,造成外部數(shù)據(jù)地址的混亂。足足讓我查了好幾天才找到毛病,這也太弱智了吧,你們故意誤人子弟?還N次升級資料下載包?? 還有,在U盤讀寫模塊的6條控制線里面,你們提供的CS掛在138上的,按你們的接法CS譯出來的地址范圍是A000H-BFFFH,然后你們提供的CH375_INDEX和CH375_DATA分別是BCF0和BCF1,剛好在CS的范圍之內(nèi),我就這樣做了,可是,讓我受不了的是直到今天我才知道CH375_INDEX和CH375_DATA根本不能在CS的范圍之內(nèi),而應(yīng)該在A0的范圍,這個錯誤又是不小心的??還有,你們的A0怎么接的??P2.0??真搞不懂 可能,可能你們對自己的產(chǎn)品已經(jīng)熟悉的跟熟悉自己的腳丫子一樣,可是,你們面對的客戶卻是全方位的,對你們很簡單的事情對一些剛接觸的可能想很久才能想明白,像我連個可以指導(dǎo)的人都沒有,我一共給貴公司發(fā)過三個郵件,都發(fā)到了TECH@WCH.CN上,每次都提了很多我搞不明白的問題,每次最少都寫了好幾百字,可是回復(fù)的郵件從來都沒有超過過兩行,并且和提的問題都是牛頭不對馬嘴,全部都是“您只要*******就可以了”這就是你們的售后?? 現(xiàn)在我總算是把電路和程序弄的可以調(diào)試通過了,可是缺怎么都查不到U盤的連接,你們說EXECOMMAND是絕對不會錯的,直接調(diào)用就可以,我試了三種U盤都查不到,聯(lián)想的,臺電的和跳鼠王的,那是什么問題呢? ExecCommand: MOV R6,DPH ;對于讀寫文件數(shù)據(jù)命令,保存外部RAM緩沖區(qū)起始地址 MOV R4,DPL MOV DPTR,#CH375HM_INDEX CLR A MOVX @DPTR,A ;索引地址為0 MOV DPTR,#CH375HM_DATA MOV A,R7 MOVX @DPTR,A ;向索引地址0寫入命令碼 ; MOV DPTR,#CH375HM_DATA MOV A,R5 MOVX @DPTR,A ;向索引地址1寫入后續(xù)參數(shù)的長度 JZ ExecCommand_W0 ;沒有參數(shù) MOV R0,#mCmdParam; ;指向輸入?yún)?shù)的起始地址 ; MOV DPTR,#CH375HM_DATA 上面是EXECCOMMAND的第一段,其中: MOV DPTR,#CH375HM_DATA MOV A,R7 MOVX @DPTR,A ;向索引地址0寫入命令碼 先不說數(shù)據(jù)地址和索引地址的名字有沒有混,這個我還是可以看懂的,可是再往下 MOV A,R5 MOVX @DPTR,A ;向索引地址1寫入后續(xù)參數(shù)的長度 地址怎么加1了啊,是怎么加的?。窟@樣不是相當(dāng)在同一地址用R5把R7的數(shù)據(jù)覆蓋了嗎??怎么變成地址1的啊,我看不懂 中間的 ; MOV DPTR,#CH375HM_DATA 加了分號是不執(zhí)行的。 ------------------------無敵反割線----------------------------------------- 發(fā)了這么多牢騷,是因為太郁悶了,其實程序我很菜,剛學(xué)不多,我是看不懂,想請技術(shù)人員告訴我查尋不到U盤,要怎么解決,還有上面程序的問題地址是怎么加的。 謝謝了
不是不想用電話求助,像CH375_INDEX和CH375_DATA在A0的地址空間而不在CS的,我就是打電話才知道的,但是程序的問題總覺得有點說不清楚,給你們發(fā)郵件?哎,失望啊。
1、說明中的74LS138的錯誤確實我們的問題,應(yīng)該是E1、E2接GND 2、例子程序中CH375_INDEX和CH375_DATA分別是BCF0和BDF1,在文件開頭定義的,不是BCF1,所以無論接A0或者接P2.0都可以,可能你看錯了,當(dāng)成BCF1 3、向CH375_DATA寫入數(shù)據(jù)后,內(nèi)部的地址會自動加1,所以R5寫到另外的寄存器中去了,不會覆蓋R7 4、你的問題可能還是要先檢查物理連接是否有錯,并且連線長度不要超過30cm,無錯后試用最基本的查詢狀態(tài)命令
非常感謝! 物理連接應(yīng)該沒錯了,我上午調(diào)試可以過去了,在 復(fù)位STA的瞬間就從P3.2返回一個低電平,我覺得這樣是正確的,但程序一直循環(huán)查詢U盤的插入,就是找不到。上午忘了看MOVX A,@DPTR返回的狀態(tài),下午再試的時候卻又不行了,又是執(zhí)行到JB CH375_INT,$ 然后就不動了,我試了N次,復(fù)位STA沒錯,可是模塊就是沒反應(yīng),程序和硬件連接都沒有動過。
還有上面的關(guān)于A0的問題,我的A0接的是從138譯出的倒數(shù)第三根線,也就是對應(yīng)的地址是101X X...XXX,那么我用BCF0和BDF1沒問題吧,在上面的空間內(nèi) 還有我的CS接的是138的倒數(shù)第二根,也就是110X..XXX,只是保證了和XDATA和A0的地址不會沖突,別的就不用管了吧,程序中沒有具體體現(xiàn)CS吧
麻煩tech大哥了~~!?。?/p>
你的CS和A0 同時接在138的話,那對命令口操作時,只能選中CS或A0中一個,而不可能同時選為低,那你怎么操作都不會操作到CH375HM_INDEX
那應(yīng)該怎么接呢。我不會啊,幫我解釋一下好嗎??等待您的回復(fù),我真的很急
Alice In Chains大哥的意思我明白了,就是CS和A0同時掛在138上的話,那么同一時刻只能只能有一種地址狀態(tài),也就是只能選中其中的一個,要選中模塊的同時還要對他操作,該怎么做呢?
啊,終于想明白了,自己想明白也是挺爽的,謝謝大家了,已經(jīng)可以寫入文件了。 都怪我以前沒經(jīng)驗。上面的問題不用回答了