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