求救啊ch375讀u盤,出現(xiàn)0x1f錯誤,.開始讀取完全ok,大概讀取10個簇以后就出現(xiàn)0x1f錯誤了不知道什么原因,2個newman u盤出現(xiàn)同樣的錯誤
你用的是總線方式還是模擬I/O口?用的是什么單片機(jī)?可以不可以看下你的接口函數(shù)?
我用的是并口,mega128 接口函數(shù)應(yīng)該沒有問題的,要不然怎么一開始正常,接著就0x1f呢
如果是模擬I/O口的話,可能會出現(xiàn)你上面的這種情況
這樣啊,可是我另外一塊板子完全ok的啊,我就重新做了塊板子就出現(xiàn)這樣的問題了 ,不知道要怎么解決啊
可以不可以看下你的三個讀寫子函數(shù)呢?
可以,呵呵,沒問題,你幫我看看哪里有問題謝謝 void CH375WriteCommand(unsigned char command) { CSClr; A0Set; WRClr; RDSet; wdt_reset(); Delay_1us(); DataPort=command; CH375Command=command; CSSet; }
void CH375WriteData(unsigned char data) { CSClr; A0Clr; WRClr; RDSet; wdt_reset(); Delay_1us(); DataPort=data; CSSet; }
unsigned char CH375Read(void) { unsigned char temp; DataDirIn; CSClr; A0Clr; WRSet; RDClr; wdt_reset(); Delay_1us(); temp=DataPortIn; DataDirOut; CSSet; return(temp); }
void CH375WriteCommand(unsigned char command) { Delay_1us(); Delay_1us(); DataPort=command; CH375Command=command; A0Set; CSClr; WRClr; WRClr;//延時500NS RDSet; wdt_reset(); CSSet; WRSset Delay_1us(); Delay_1us(); }
void CH375WriteData(unsigned char data) { DataPort=data; CSClr; A0Clr; WRClr; RDSet; RDSet;//延時500NS wdt_reset();// CSSet; Delay_1us();//1。2us }
unsigned char CH375Read(void) { unsigned char temp; Delay_1us();//1。2US DataDirIn; CSClr; A0Clr; WRSet; RDClr; wdt_reset(); temp=DataPortIn; DataDirOut; DataDirOut;//延時500NS CSSet; return(temp); } 你的時序上面有點(diǎn)問題,你用我修改的時序看下還會不會出錯?
謝謝指點(diǎn),我試試看哦,呵呵,我用的是avr mega128, 16M晶振,用gcc寫的,看來老大也是高手嘛,呵呵,avr速度是快了點(diǎn),不過按照我上面的時序?yàn)槭裁匆婚_始可以的呢,真想不通?
還是會這樣,而且提前了,本來可以播放歌曲5分鐘的,現(xiàn)在只能放1分鐘了,