[英]Reading serial data from Arduino via C#
我正在尝试制作一个程序,允许我控制 Arduino 发出一个高电平信号来转动我的电机,并且会有一个通过串行的反馈告诉我电机已被移动。
我的问题是我无法从 Arduino 获得任何反馈。 这些是我的代码片段。
SerialPort serialComms;
Select_Arduino.IsEnabled = false;
serialComms = new SerialPort(Port_Name.SelectedItem.ToString(), Convert.ToInt32(Baud_Rate.SelectedItem.ToString()));
serialComms.DtrEnable = true;
serialComms.DataReceived += serialComms_DataReceived;
void serialComms_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
SamsungTV.Text = SamsungTV.Text + "\n" + e.ToString();
}
程序完全没有进入serialComms_DataReceived
。 有什么方法可以让我收到反馈吗?
反馈是“电机已逆时针移动 15 度”。
您需要调用serialComms.Open()
通常当我使用事件处理程序通过串行端口接收消息时,我会做这样的事情......
void serialComms_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
String testing = serialComs.ReadLine(); // Also, I use the Serial.println(arg) command from the arduino in order to simplify the syntax a little bit..
SamsungTV.Text = testing + "\n";
}
我希望这在某种程度上有所帮助!
这是我的解决方案:
using System.IO.Ports;
private void Read()
{
SerialPort myport = new SerialPort();
myport = new SerialPort();
myport.BaudRate = 9600;
myport.PortName = "COM3";
myport.Open();
string data = myport.ReadLine();
myport.Close();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.