C# 用C语言进行Arduino闪烁测试#

C# 用C语言进行Arduino闪烁测试#,c#,arduino,C#,Arduino,我已经能够从C#的Ardunio Uno获得“反应”光,代码如下: using System.IO.Ports; private void OnButton_Click(object sender, EventArgs e) { SerialPort serial = new SerialPort("COM7", 9600) serial.Open(); serial.WriteLine("A"); serial.Close(); } 我还设置了一个“关闭”按钮,使用

我已经能够从C#的Ardunio Uno获得“反应”光,代码如下:

using System.IO.Ports;

private void OnButton_Click(object sender, EventArgs e)
{
   SerialPort serial = new SerialPort("COM7", 9600)
   serial.Open();
   serial.WriteLine("A");
   serial.Close();
}
我还设置了一个“关闭”按钮,使用的是相同的,但使用的是WriteLine(“a”)

我使用默认的Windows Ardunio软件将以下代码上载到Ardunio Uno:

int message = 0;
int LEDPin = 13;
int LED = 0;

void setup()
{
 Serial.begin(9600);
}

void loop()
{
 if (Serial.available() > 0)
 {
  message = Serial.read();
  if (message == 'A')
  {
   LED = 255;
   Serial.println("LED on");
  }
  if (message == 'a')
  {
   LED = 0;
   Serial.println("LED off");
  }
 }
}
现在我已经将Adrunio代码输入到Uno设备中,我希望这会打开和关闭板载引脚13 LED,但什么也没有发生

在Uno板上,当按钮点击时,“TX”和“RX”旁边有一个小灯闪烁(因此我知道有东西被发送到板上…)。但车载LED没有发生任何变化


有人能帮忙吗?

设置一个名为
LED
的变量根本不会影响LED。您需要将pin配置为输出:

pinMode(LEDPin, HIGH);
写入pin以将其打开:

digitalWrite(LEDPin, HIGH);
然后关闭:

digitalWrite(LEDPin, LOW);

这里有一个工作LED闪烁

等于某个数字的LED不工作。首先,您需要配置一个引脚,以便使用此功能进行输出或输入。您基本上将这行代码放在setup()下

然后,您可以使用此功能使其亮起或不亮起。这个通常在loop()下

你的LED变量在这里是没有用的,除非你想用它来做一些没有说明的事情

int message = 0;
int LEDPin = 13;
int LED = 0;

void setup()
{
 Serial.begin(9600);
 pinMode(LEDPin, OUTPUT);     
}

void loop()
{
 if (Serial.available() > 0)
 {
  message = Serial.read();
  if (message == 'A')
   {
   LED = 255;
   digitalWrite(LEDPin, HIGH);
   Serial.println("LED on");
  }
  if (message == 'a')
  {
   LED = 0;
   digitalWrite(LEDPin, LOW);
   Serial.println("LED off");
  }
 }
}

我对Ardunio代码中的pinMode设置有点困惑。请你写下我需要的内容好吗?我写下了你需要的三行以及它们的作用。如果用它们替换代码中的行,它应该可以工作。不过,您似乎对Arduino代码的工作原理有一个根本性的误解,因此我建议您找到一些基本教程来提高速度。
pinMode(LED, LOW);
digitalWrite(LEDPin, HIGH);
digitalWrite(LEDPin, LOW);
int message = 0;
int LEDPin = 13;
int LED = 0;

void setup()
{
 Serial.begin(9600);
 pinMode(LEDPin, OUTPUT);     
}

void loop()
{
 if (Serial.available() > 0)
 {
  message = Serial.read();
  if (message == 'A')
   {
   LED = 255;
   digitalWrite(LEDPin, HIGH);
   Serial.println("LED on");
  }
  if (message == 'a')
  {
   LED = 0;
   digitalWrite(LEDPin, LOW);
   Serial.println("LED off");
  }
 }
}