Hallo
Ich habe bisher eigentlich nur Programme für µController in C geschrieben. Nun wollte ich in C# ein Programm schreiben um damit auf einen µController zuzugreifen (UART).
Ich habe es bis jetzt soweit geschafft, einen COM Port zu öffnen.
Außerdem hab ich in es geschafft, in der MainForm eine Combobox mit den verfügbaren COM Ports zu füllen:
namespace DataLogger
{
public partial class MainForm : Form
{
private static System.IO.Ports.SerialPort serialPort1;
// Get a list of serial port names.
string[] ports = SerialPort.GetPortNames();
public MainForm()
{
InitializeComponent();
foreach(string port in ports)
{
COMPortList.Items.Add(port);
}
BaudList.Items.Add("115200");
BaudList.Items.Add("9600");
BaudList.SelectedIndex = 0;
COMPortList.SelectedIndex = 0;
}
void MainFormLoad(object sender, EventArgs e)
{
}
}
}
Wenn ich das gleiche jetzt innerhalb des EventHandlers machen möchte, also der ComboBox immer aktualisiert wird wenn ich darauf klicke, dann bekomme ich folgende Fehlermeldung:
Auf den Member "System.IO.Ports.SerialPort.GetPortNames()" kann nicht mit einem Instanzenverweis zugegriffen werden. Qualifizieren Sie ihn stattdessen mit einem Typnamen. (CS0176)
Hier der entsprechende Code:
void COMPortListSelectedIndexChanged(object sender, EventArgs e)
{
string [] availablePorts = serialPort1.GetPortNames();
foreach(string port in ports)
{
COMPortList.Items.Add(port);
}
}
Wahrscheinlich ist das Problem recht simpel, aber irgendwie komme ich nicht drauf. Könnt ihr mir hier irgendwie helfen?
Grüße
Bean
Ja, ich bin Anfänger...
Bisher nur C-Code für µController (8051 und AtMega)
Hallo,
schau Dir die Fehlermeldung an und vergleiche die geposteten Code-Schnippsel, natürlich insbesondere den Aufruf von GetPortNames.
Beachte auch dies: [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)
Hallo Mr Bean,
schreibe anstatt serialPort1 SerialPort. Da du es im 1. Beispiel richtig hattest tippe ich auf einen Tippfehler bei der Autovervollständigung.
Sonst einfach mal nach dem Compilerfehler googlen, wobei die Beschreibung schon alles sagt.
mfg.
markus111
Edit: zu langsam...