這是main的主循環(huán)
這是主循環(huán)調(diào)用的Random_KB方法
只要把Random_KB方法的定義發(fā)送數(shù)據(jù)與USBFS_Endp_DataUp方法執(zhí)行之間的延時函數(shù)去掉或者低于200,就會使在下圖中畫圈處為false,就算把主函數(shù)循環(huán)的延時拉的再高都不行(排除發(fā)送過于頻繁的可能)
按道理說變量=不應(yīng)該是修改完成才往下運行嗎,為什么中間需要加延時?
這是main的主循環(huán)
這是主循環(huán)調(diào)用的Random_KB方法
只要把Random_KB方法的定義發(fā)送數(shù)據(jù)與USBFS_Endp_DataUp方法執(zhí)行之間的延時函數(shù)去掉或者低于200,就會使在下圖中畫圈處為false,就算把主函數(shù)循環(huán)的延時拉的再高都不行(排除發(fā)送過于頻繁的可能)
按道理說變量=不應(yīng)該是修改完成才往下運行嗎,為什么中間需要加延時?
這是項目源碼
此回復(fù)作廢
你好,出現(xiàn)這個現(xiàn)象的原因是,還沒有枚舉完成,就開始裝載端點1和2的數(shù)據(jù),置了BUSY標(biāo)志位,然后主機在枚舉的時候下發(fā)了RESET之類的命令,設(shè)備處理的時候把之前裝載的數(shù)據(jù)重新設(shè)置成了NAK,導(dǎo)致沒有進(jìn)IN中斷,BUSY一直沒有清除。解決辦法是,可以在這里加BUSY清零,或者是用枚舉完成的標(biāo)志位,枚舉完成之后再裝載數(shù)據(jù)。