我的程序一直在發(fā):321 while ( CH375DiskStatus != DISK_CONNECT ) {printf("321\n");} xQueryInterrupt( ); /* 查詢CH375中斷并更新中斷狀態(tài),等待U盤(pán)插入 */ printf("OKOK\n"); mDelay100mS( ); /* 延時(shí),可選操作,有的USB存儲(chǔ)器需要幾十毫秒的延時(shí) */ mDelay100mS( );
哦 對(duì)了ACT#引腳的指示燈是亮的
一種情況是你的U盤(pán)供電不好,這樣的話就檢測(cè)不到U盤(pán)的連接 第二種情況是你的U盤(pán)是不是有點(diǎn)問(wèn)題,例如U盤(pán)的晶振誤差太大的話,也可能出現(xiàn)這種情況
但是ACT#引腳的指示燈是亮的 說(shuō)明已經(jīng)檢查到U盤(pán)了呀 為什么還能不檢查到已經(jīng)連接了呢
CH375DiskStatus是磁盤(pán)和文件的狀態(tài),而ACT=0則是表示檢測(cè)到USB設(shè)備的連接
檢查中斷線
我用萬(wàn)用表檢查INT1引腳 是低電平。請(qǐng)問(wèn)有什么連系嗎? 還有就是UD+和UD-的工作電壓是多少?我測(cè)得是4.2V
正常的情況下,UD+應(yīng)該為3。幾V左右,我現(xiàn)在擔(dān)心的還是你的硬件上面是不是還有問(wèn)題
例如U盤(pán)的晶振誤差太大的話,mean what?
any positive suggestion is welcome. best regards
U盤(pán)晶振誤差過(guò)大的話,會(huì)造成USB時(shí)鐘誤差過(guò)大,導(dǎo)致無(wú)法傳輸大數(shù)據(jù)包或數(shù)據(jù)出錯(cuò) 就像MSC-51系列單片機(jī)的晶振會(huì)影響波特率一樣