然而,并不能
之前的回覆草率了
先上時序圖
哆嗦X 和 哆嗦Y
青色虛線之間是一次完整的脈沖
Now++是發(fā)生在第一條青色虛線之后少少的時間
但一定早于哆嗦X 和 哆嗦Y
而Now++或Now--的先要條件是: 之前高電平+現(xiàn)在低電平(下降沿發(fā)生)
無論哆嗦X 還是 哆嗦Y所產生的都是之前低電平+現(xiàn)在高電平(上升沿發(fā)生)
不滿足Now++或Now--的先要條件
所haokey兄所提出的問題,真正答案是:沒事發(fā)生
而"ScanCount++"所做的事是加長掃描時間去消抖
再上時序圖:
不干凈的脈沖
這是一個不干凈的脈沖
如果沒有"ScanCount++"
沒有"ScanCount++"
單片機會在黃色虛線那里判斷
結果在3,4,6判為成立
如果加上"ScanCount++"
加上"ScanCount++"
就只會在2那里成立,避開了抖動
當然"ScanCount++ >"的數(shù)值要進行調節(jié)
如果數(shù)值太大如圖
"ScanCount++ >"的數(shù)值太大
在2看到的就是B之前高電平+B現(xiàn)在低電平(B下降沿發(fā)生)+A高電平 = 逆時針轉了!
|