检查lpt端口二进制的位状态

时间:2011-10-11 08:00:01

标签: c# binary lpt

我的部分代码是检查lpt端口的输入引脚,但是使用十进制值:

while (PortAccess.Input(889) == 120)

如何将此指令用于二进制值?

例如,当00100100的第3位为0时,则执行某些操作。

2 个答案:

答案 0 :(得分:1)

请参阅Convert.ToInt32(string value, int fromBase)

while((value & Convert.ToInt32("00000100", 2)) == 0)

或者因为我们知道第三位是(2 ^ 2)

while((value & 0x0004) == 0)
我猜是

也是一段足够清晰的代码。

答案 1 :(得分:0)

好的,所以我已经这样做了,因为tafa解决方案无法正常工作,我无法使其正常工作:

   var PortValue = Convert.ToString(PortAccess.Input(889), 2).PadLeft(8, '0');
   PortV.Text = PortValue;
   while (PortV.Text[3].ToString() == "1")
   {
   //some code
   }

这可能不是一个好的解决方案,但它正在发挥作用;)