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

我在C#中做了一个咖啡程序,它从串口读取脉冲并增加了用户的时间。还有一个电子线路连接在硬币接受器和串口之间。我使用上面的代码从硬币接收器读取脉冲。阅读串口硬币接收器

代码工作正常,并很好地捕捉到pin变化。但是有一个问题:pinchanged函数工作两次。通常它必须将时间变量加100,但每次增加200。为什么会发生?

+0

也许是因为脉搏作为变化计数两次,即变高,然后变低。或者每增加50个或者翻转一个真实的虚假变量并且测试真实的添加100个。 – imqqmi

回答

1

这很简单,当猪上升(低到高)和下降时(从高到低),这个事件是一次调用,所以你有+200。