Fragensteller
Datenübertragung mit serieller Schnittstelle zwischen 2 PC´s in C#

Frage
-
Hallo zusammen!
Ich hätte eine Frage dazu, wie ich eine Datenübertragung über die serielle Schnittstelle zwischen 2 PC´s programmiere.
Haben das in der Schule zur Aufgabe bekommen, aber ich kenne mich leider nicht aus und hoffe mir kann jemand weiterhelfen.
Vielleicht mit ein paar hilfreichen Kommentaren zu den einzelnen Zeilen, damit ich es irgendwann verstehe.
Liebe Grüße
- Bearbeitet Dominik10 Dienstag, 31. Mai 2016 11:09
Alle Antworten
-
Hallo Dominik,
es macht keinen Sinn, wenn dir hier jemand den Code postet, denn letztendlich hat es schon einen Grund, warum Du und nicht wir das machen sollen.
Zum Programmieren gehört auch zu lernen, wie und wo man recherchiert. Versuche, Fehlschläge, neue Versuche, usw. ebenfalls.
Daher hier erst mal ein Link zu einem passenden MSDN Artikel. Dort findest Du auch Beispielcode.
https://msdn.microsoft.com/de-de/library/system.io.ports.serialport.aspx
Arbeite dich bitte mal dort ein, versuch, das nachzuvollziehen und melde dich dann nochmal, wenn Du Probleme bei der Umsetzung hast.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo nochmal!
Habe jetzt versucht mit Hilfe der Seite, welche mir sehr hilfreich war, etwas zu Stande zu bringen.
Könntest Du dir es bitte kurz durchlesen und mir sagen ob das so funktionieren könnte?
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
usingSystem.IO.Ports;
namespaceProjektarbeit
{
publicpartialclassForm1: Form
{
publicForm1()
{
InitializeComponent();
getAvailablePorts();
}
voidgetAvailablePorts()
{
string[] ports = SerialPort.GetPortNames();
comboBox1.Items.AddRange(ports);
}
privatevoidbutton3_Click(objectsender, EventArgse)
{
try
{
if(comboBox1.Text == ""||comboBox2.Text=="")
{
textBox2.Text = "Bitte wählen Sie einen Port aus!";
}
else
{
serialPort1.PortName = comboBox1.Text;
serialPort1.BaudRate = Convert.ToInt32(comboBox2.Text);
serialPort1.Open();
progressBar1.Value = 100;
button1.Enabled = true;
button2.Enabled = true;
textBox1.Enabled = true;
button3.Enabled = false;
button4.Enabled = true;
}
}
catch(UnauthorizedAccessException)
{
textBox2.Text = "Unauthorized Access";
}
}
privatevoidbutton4_Click(objectsender, EventArgse)
{
serialPort1.Close();
progressBar1.Value = 0;
button1.Enabled = false;
button2.Enabled = false;
button4.Enabled = false;
button3.Enabled = true;
textBox1.Enabled = false;
}
privatevoidbutton1_Click(objectsender, EventArgse)
{
serialPort1.WriteLine(textBox1.Text);
textBox1.Text = "";
}
privatevoidbutton2_Click(objectsender, EventArgse)
{
try
{
textBox2.Text = serialPort1.ReadLine();
}
catch(TimeoutException)
{
textBox2.Text = "Timeout";
}
}
}
}
Liebe Grüße