請問hcn: 當我將USB設備拔出后,CH375芯片ACT#管腳所接的發(fā)光二極管仍亮著,這是否正常呢?
另:我的實驗用了仿真器,程序執(zhí)行很不穩(wěn)定,很多時候,程序執(zhí)行到同一個地方,但用仿真器觀察到變量的值卻不一樣。這是硬件的問題么?抑或是程序不夠完善? 麻煩hcn抽空回答一下,謝謝!
請問hcn: 當我將USB設備拔出后,CH375芯片ACT#管腳所接的發(fā)光二極管仍亮著,這是否正常呢?
另:我的實驗用了仿真器,程序執(zhí)行很不穩(wěn)定,很多時候,程序執(zhí)行到同一個地方,但用仿真器觀察到變量的值卻不一樣。這是硬件的問題么?抑或是程序不夠完善? 麻煩hcn抽空回答一下,謝謝!
我們的ACT#實際上在做主機的時候是USB設備連接狀態(tài)的檢測,當檢測到USB設備連接的時候,ACT#為低,你拔出設備之后還為低的話好象不太正常。 你用仿真器的時候,在有的時候是不可以設置斷點的,例如控制傳輸這一塊,還有就是你執(zhí)行到一個地方的話,那么是錯誤了還是別的問題呢?請把問題說明白點,如果是錯誤的話,那么返回的錯誤代碼是多少?
拔出設備后,ACT#還是為低。 我現(xiàn)在處在USB初始化階段,還沒有開始傳輸數(shù)據(jù);我并沒有在程序中設置斷點,只是為便于觀察相關變量起見,在程序的某個地方用了while(1);語句,讓程序到此無法繼續(xù)往下執(zhí)行,這樣是否也不可以? 情況就是這個樣子。
你可以通過串口輸出.這種調試我沒試過,不過你在調試的時候,就是在USB的控制傳輸?shù)臅r候要是5MS沒響應的話就會出錯
請問這樣的延時是否科學呢: delay50ms() { unsigned char i,j; for(i=100;i!=0;i--) for(j=250;j!=0;j--); } 我在運用過程中,發(fā)現(xiàn)50ms的延時,卻執(zhí)行了好長時間。
看下你反匯編的代碼計算下就知道了啊
上述延時子程序,有時很快就能執(zhí)行完,但有時好像需要較長的時間。 這個我通過示波器能觀察出來。
“你可以通過串口輸出.這種調試我沒試過,不過你在調試的時候,就是在USB的控制傳輸?shù)臅r候要是5MS沒響應的話就會出錯” 你這句話我不是很明白。 有時在程序執(zhí)行完復位后,拔出USB設備,燈會滅;在程序不執(zhí)行的時候,再插上,燈就會亮。 很奇怪,程序都沒有執(zhí)行,插上設備,燈就會亮。
這是正常的??!那是因為375檢測到USB設備連接的話,ACT#就為低。