我现在正在使用Arduino,我想尝试使用C#和Arduino打开/关闭一个led。所以我尝试使用串口,它可以工作,但我想使用以太网屏蔽来打开/关闭LED。 我的代码使用串口 这个Arduino代码
#define BaudRate 9600
#define LEDPin 10
char incomingOption;
void setup()
{
pinMode(LEDPin, OUTPUT);
// serial communication
Serial.begin(BaudRate);
}
void loop()
{
//read from serial port getting information from VS 2013
incomingOption = Serial.read();
//verify incomingOption
switch(incomingOption){
case '1':
// Turn ON LED
digitalWrite(LEDPin, HIGH);
break;
case '0':
// Turn OFF LED
digitalWrite(LEDPin, LOW);
break;
}
}
对于C#,我有3个简单的按钮(打开,关闭和关闭串口)
public partial class frmTurnONTurnOFFLED : Form
{
public frmTurnONTurnOFFLED()
{
InitializeComponent();
}
private void btnTurnON_Click(object sender, EventArgs e)
{
try
{
serialPort1.Write("1"); //send 1 to Arduino
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void btnTurnOFF_Click(object sender, EventArgs e)
{
try
{
serialPort1.Write("0"); //send 0 to Arduino
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void frmTurnONTurnOFFLED_Load(object sender, EventArgs e)
{
serialPort1.Open(); //open serialPort
}
private void btnClosePort_Click(object sender, EventArgs e)
{
serialPort1.Close(); //close serialPort
}
}
那我在哪里可以修改我的代码?使用socket?使用TCP pr UDP?
答案 0 :(得分:0)
您可以在打开前尝试设置端口名称吗?
serialPort1.PortName = "COM3" // your ardunio port (you can see on device manager)
serialPort1.Open();