ich suche seit Ewigkeiten ein beispiel Code um vom arduino daten senden zu visual studio.
und gestern habe ich was gesehen.. und das genau brauche ich
kann mir jemand helfen??
mein Programm schickt daten zum arduino das funktioniert, ich kann auch via serialprint sehen was ich was bekomme..
nur weiß ich nicht wie ich die abfrage machen soll in visual damit eine funktion entsteht, so wie beispiel im video wenn ein PIN auf High gesetzt wird.
Visual Studio ist lediglich eine Entwicklungsumgebung, keine Programmiersprache. Ohne Kenntnisse wäre Processing einfacher zu verstehen und es gibt viele Beispiele im Bezug auf Arduino.
Dann musst du den empfangenen String am PC Parsen. Das ist keine große Sache
Zwei Anmerkungen dazu:
1.) Du kannst nicht von einem anderen Thread direkt auf das GUI Thread zugreifen. Das gibt Mecker. Statt dessen musst du mit BeginInvoke() und einem Delegate arbeiten.
z.B. hier für C# und eine Richtextbox namens "communicationOutput"
public void TextBoxPrint(string text)
{
if (communicationOutput.InvokeRequired)
{
communicationOutput.BeginInvoke((MethodInvoker)delegate
{
communicationOutput.AppendText(text);
});
}
else
{
communicationOutput.AppendText(text);
}
}
2.) Der DataReceived Event Handler ist manchmal ekelhaft unzuverlässig. In einer Anwendung hatte ich damit keine Probleme. Aber in einer anderen war er extrem schlecht und hat nicht immer ausgelöst. Dann kam es zu langen Verzögerungen.
Die Lösung ist einfach einen Timer zu starten und den Puffer zu pollen:
private void DataReceived(Object source, ElapsedEventArgs e)
{
try
{
while (_serialPort.BytesToRead > 0)
{
string str = _serialPort.ReadLine();
//hier was mit dem Text machen. z.B. an eine Parser Methode übergeben
}
}
catch(Exception ex)
{
//z.B. Ausgabe von Fehlermeldungen
}
}