[英]Arduino communication with c#
我是这个社区的新手,我对编程和电子学很感兴趣。 所以我遇到了 arduino 和 c# windows 应用程序之间的通信问题。 我知道如何在控制台应用程序中从串行端口自动更新数据,但在我的表单应用程序中,这非常棘手。 所以..在arduino中,我有一个从电位计读取模拟信号的基本草图,在ac#应用程序中,我制作了一个用于选择端口的ComboBox和一个制作while循环的CheckBox。 在 while 循环中,我获得了读取信号并将其显示给用户的命令。 对不起我的英语,我不太擅长......代码:
命名空间 arduinoRead { 公共部分类 Form1 : Form { public Form1() { InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e)
{
string[] ports = SerialPort.GetPortNames();
serialPort1.PortName = ports.ToString();
comboBox1.Items.AddRange(ports);
}
private void button1_Click(object sender, EventArgs e)
{
string Selected1 = comboBox1.SelectedItem.ToString();
MessageBox.Show(String.Format("Jūs esat izvēlējies: '{0}' Portu", Selected1));
serialPort1.PortName = Selected1;
serialPort1.Open();
}
private void button3_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(textBox1.Text);
f2.Show();
}
private void button2_Click(object sender, EventArgs e)
{
while (checkBox1.Checked)
{
label1.Text = serialPort1.ReadLine();
}
}
}
}
我认为如果您发布代码会更好。 一般来说,在C#表单应用程序中需要创建一个串口实例
SerialPort COM = new SerialPort("COM3", 115200);
COM.Open();
然后使用COM.Write
将字节发送到端口,并使用COM.Read
进行读取。 在Arduino的一面,您使用Serial.begin(115200)
确保速度匹配),然后Serial.read
和Serial.print
。
您可能还想查看Windows Remote Arduino项目,它允许您以自然的方式从 C# 程序控制 Arduino 的输入/输出。 您需要将 Firmata 草图放在您的 Arduino 上,然后 Windows 远程 Arduino 库处理所有串行通信。 请参阅此处的示例项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.