你的程序給的不全還不能完全判斷對否。不過可以給你個(gè)思路。方案1:編碼器要用高速計(jì)數(shù)器不帶外部清零的用程序每500ms讀出高速計(jì)數(shù)器數(shù)值做計(jì)算解算出速度。然后高速計(jì)數(shù)器清零復(fù)位。方案2:編碼器是AB相帶Z相的,用帶外部復(fù)位的AB相高速計(jì)數(shù),這個(gè)程序處理比較麻煩速度解算周期要小于機(jī)器運(yùn)行的最小周期。然后定時(shí)讀出高速計(jì)數(shù)的值與上次讀出值做比較(這個(gè)比較相當(dāng)麻煩要考慮跨零位具體辦法自己想,想不出來在問我。)然后在解算速度。