用ch375對USB的操作很正常 在使用UINT8 SafeRemoveDisk( void )函數(shù)準備拔出U盤的時候,函數(shù)的返回值始終是正確的,可是此時U盤的燈還在閃爍,要等幾秒鐘后才會熄滅。如果不等幾秒鐘,提前拔出的話,有一定的幾率導(dǎo)致數(shù)據(jù)混亂。 請問,我如何判斷何時U盤才能安全的拔出呢? 謝謝!?。?/p>
等燈不閃爍再拔出
那就是不確定等多長時間了? 應(yīng)該能有什么可以判斷的吧 類似與SafeRemoveDisk( void )這個函數(shù)
我測試過幾個U盤 有點U盤在SafeRemoveDisk( void )后,就可以拔出,沒有問題。 但是有些U盤要等很長時間才會燈滅。 這個時間,我在程序中怎么判斷呢? 你們有沒有遇到這樣的問題? 謝謝!
U盤有寫延時,不同的U盤,延時不同。 在SafeRemoveDisk( void )后再延時50Ms(也可以再加大些)拔盤試試,看看數(shù)據(jù)是否還出錯
我試了7個U盤 只有那一個要延時大概8s,燈才不閃爍 其他的在SafeRemoveDisk( void )后即可拔出,屬于正常 考慮到程序兼容性的問題,有點為難。 50ms的時間對于多數(shù)的U盤可能夠了。 那個U盤是三星 256M的(型號不清楚)
錯了 是清華普天 256M的U盤
看看計算機如何做的,照做,(估計是先發(fā)DiskReady,成功后再SetConfig(0))
至于寫延時問題,這個本身是U盤制造廠商的問題,不同的制造廠商可能有不同的寫延時,所以在推薦使用U盤時,盡量的選用比較品牌點的U盤,在寫延時這部分的話可能會比較短。
那也就是忽略少數(shù)U盤的延時長的問題了? 我再試一下看看。 SafeRemoveDisk( void )中有段關(guān)于取消SOF包發(fā)送的部分 被屏蔽了 如果不屏蔽,是不是會好點?
我試過將SafeRemoveDisk( void )被屏蔽的部分恢復(fù) 感覺沒有什么實質(zhì)性的進展。 還有人能解答我的疑問嗎? 謝謝?。?!