2016-12-25 101 views
-2

我有问题与树莓派3 Windows物联网创建运行LED,但随机指示灯闪烁工作。 两者的代码几乎相同,只有不同的运行LED由变量计数控制,随机发生器生成随机LED 。如何使用Windows 10物联网uwp c运行LED#

运行led代码在此文本下方。我只会得到第一个指示灯,其余的指示灯保持黑暗。有人可以看到这段代码有什么问题吗? 但随机闪烁led工程,这是在这个运行LED代码和两个代码几乎完全相同,但仍然运行LED代码不起作用。

运行指示灯代码

private void Timer_Tick(object sender, object e) 
{ 
int ledCheck = 1, ledCheck2 = 1; 
int ledValue = 0, ledValue2 = 0; 
//ledValue2 = 1; 
int checkValue = 0; 


if (ledCheck2 == 1) 
{ 
pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 
ledCheck2 = 0; 

} 
ledValue2 = ledValue2 + 1; 
TextBlock1.Text = ledValue2.ToString(); 
if (ledValue2 == 1) 
{ 
pinValue1 = GpioPinValue.High; 

} 

if (ledValue2 == 2) 
{ 
pinValue2 = GpioPinValue.High; 

} 

if (ledValue == 3) 
{ 
pinValue3 = GpioPinValue.High; 

} 

if (ledValue2 == 4) 
{ 
pinValue4 = GpioPinValue.High; 

} 

if (ledValue2 == 5) 
{ 
pinValue5 = GpioPinValue.High; 

} 

if (ledValue2 == 6) 
{ 
pinValue6 = GpioPinValue.High; 

} 

if (ledValue2 == 7) 
{ 
pinValue7 = GpioPinValue.High; 

} 
if (pinValue1 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.High; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 

} 


if (pinValue2 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.High; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 
} 

if (pinValue3 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.High; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 

} 



if (pinValue4 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.High; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 
} 



if (pinValue5 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.High; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 

} 



if (pinValue6 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.High; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 


} 


​ 
if (pinValue7 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.High; 
pin7.Write(pinValue7); 


} 
TextBlock1.Text = "TEST " + ledValue2.ToString(); 
break; 
} 

随机LED闪烁

private void Timer_Tick(object sender, object e) 
{ 
int ledCheck = 1, ledCheck2 = 1; 
int ledValue = 0, ledValue2 = 0; 
//ledValue2 = 1; 
int checkValue = 0; 

if (ledCheck == 1) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 
ledCheck = 0; 

} 


Random rnd = new Random(); 
ledValue = rnd.Next(1, 8); 

if (ledValue != checkValue) 
{ 
checkValue = ledValue; 
if (ledValue == 1) 
{ 
pinValue1 = GpioPinValue.High; 

} 

if (ledValue == 2) 
{ 
pinValue1 = GpioPinValue.High; 

} 

if (ledValue == 3) 
{ 
pinValue3 = GpioPinValue.High; 

} 

if (ledValue == 4) 
{ 
pinValue4 = GpioPinValue.High; 

} 

if (ledValue == 5) 
{ 
pinValue5 = GpioPinValue.High; 

} 

if (ledValue == 6) 
{ 
pinValue6 = GpioPinValue.High; 

} 

if (ledValue == 7) 
{ 
pinValue7 = GpioPinValue.High; 

} 

if (pinValue1 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.High; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 

} 


if (pinValue2 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.High; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 
} 

if (pinValue3 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.High; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 

} 



if (pinValue4 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.High; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 
} 



if (pinValue5 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.High; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 

} 



if (pinValue6 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.High; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 


} 



if (pinValue7 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.High; 
pin7.Write(pinValue7); 


} 
TextBlock1.Text = "NOT Same value!"; 

} 
else 
{ 
TextBlock1.Text = "Same value!"; 
} 
} 

回答

1

我将只得到第一LED光,以及LED的其余部分保持黑暗。 有人可以看到这段代码有什么问题吗?

因为每次进入Timer_Tick()ledValue2变量初始化为0这行:

int ledValue = 0, ledValue2 = 0; 

你需要移动ledValue2可变出Timer_Tick()。例如,你可以把它放在MainPage类的开始处。并在此代码行ledValue2 = ledValue2 + 1后添加以下代码段。

 if (ledValue2 > 7) 
     { 
      ledValue2 = 0; 
     } 
相关问题