2017-06-04 56 views
-1
private void serialPort1_PinChanged(object sender, SerialPinChangedEventArgs e) 
{ 
    time = time + 100; 
} 

我在C#中做了一個咖啡程序,它從串口讀取脈衝並增加了用戶的時間。還有一個電子線路連接在硬幣接受器和串口之間。我使用上面的代碼從硬幣接收器讀取脈衝。閱讀串口硬幣接收器

代碼工作正常,並很好地捕捉到pin變化。但是有一個問題:pinchanged函數工作兩次。通常它必須將時間變量加100,但每次增加200。爲什麼會發生?

+0

也許是因爲脈搏作爲變化計數兩次,即變高,然後變低。或者每增加50個或者翻轉一個真實的虛假變量並且測試真實的添加100個。 – imqqmi

回答

1

這很簡單,當豬上升(低到高)和下降時(從高到低),這個事件是一次調用,所以你有+200。