如圖所示,這里使用串口打印?R8_USB_SPEED_TYPE 寄存器的值。
因為實(shí)際使用中出現(xiàn)了奇怪的問題,就連續(xù)打印5次值用于測試,然后就出現(xiàn)了如圖所示的奇怪現(xiàn)象。
為什么這個寄存器的值,每次讀取都具有很大的隨機(jī)性呢。
如圖,剛開始枚舉的是 USB-HS 設(shè)備,第一次讀值為1(高速)正確;后面四次讀為0(全速),這就有問題了。
然后SETUP過程中,上位機(jī)會總線復(fù)位一次,這里為了區(qū)分設(shè)置了計數(shù)器累加。
總線復(fù)位后,第一次讀為0(全速)錯誤,后面四次讀為1(高速)正確。
請問要在什么情況下,這個寄存器的值才能總是讀出正確的結(jié)果呢?