lzhpsky
工控小菜鳥
級別: 論壇先鋒
|
1.我用HSC0的10模式,來計數AB相脈沖,我用狀態表監控HSC0的數值不斷變化,可是SMD38當前計數值怎么沒變化? 2.當前的計數值在哪個寄存器里?怎么取出來? 3.設定值是6000,計數值到6000后產生中斷,這個沒問題,但是編碼器轉動時,HSC0還會計數。怎么寫程序就可以實現計數到6000后,在中斷里HSC0里面的當前值馬上清零,旋轉編碼器旋轉時,還不會計數。等再啟動時才開始計數,就是說到6000后怎么清掉HSC0的值。 |
---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
|
HSC0中記錄的才是你理解的“當前計數值”。SMD38中的當前值是指執行一定的指令時將HC0的當前值改為SMD38中的值。
當前的計數值就在HC0中,直接MOVE到某個寄存器中就可使用,或者直接使用HC0;
|
---|---|
本帖最近評分記錄: |
回憶依然最美
一不小心混進社會, 浪子回頭已經白費... ...
級別: 工控俠客
|
1.不能直接監視SMD38的值; 2.想要讀取HSC0的當前值可以在程序里直接雙字尋址HC0,也可以用MOV_DW指令傳送到一個雙字寄存器地址; 3.可能是在中端程序里設置的HSC0參數不正確,或者設置玩參數并將當前值清零后沒有再次調用HSC指令啟用高速計數器,請樓主查查看! |
---|---|
本帖最近評分記錄: |
liuhuaxing
LIUHUAXING
級別: 論壇先鋒
|
今天是個特別的日子,版主、高手大聚會,要是天天這樣,我該請假來這兒向老師們學習學習。 |
---|---|
|
woaqqdfq
級別: 略有小成
|
1.不能直接監視SMD38的值; 2.想要讀取HSC0的當前值可以在程序里直接雙字尋址HC0,也可以用MOV_DW指令傳送到一個雙字寄存器地址; 3.可能是在中端程序里設置的HSC0參數不正確,或者設置玩參數并將當前值清零后沒有再次調用HSC指令啟用高速計數器,請樓主查查看! |
---|---|
|