Hallo erst mal, Ich versuche meinen Arduino (ATMega328) mit nem externen Programm (C++) zu steuern. Den Mikrocontroller gebe ich Befehle mit C und benutze dafür das AVR Studio. Nun möchte ich aber ein Fenster erstellen mit nem Button, welches das geschriebene Programm in C startet und stoppt. Um das externe Programm zu schreiben verwende ich Visual Studio 2010. Leider kenne ich mich nicht so gut aus. Könnte mir vielleicht einer weiter helfen, wie ich das anstellen kann, damit die beiden Programme zusammenarbeiten? Bin echt ratlos. Danke schonmal für eure hilfe. Gruß Kacy
Deine Vorstellungen, wie das geht sind völlig verquert. Auf der einen Seite läuft dein C-Programm auf dem AVR. Und das läuft immer wenn der Arduino Strom kriegt Auf der anderen Seite läuft auf deinem PC ein Programm. Und diese beiden Programme müssen miteinander reden! zb über die Serielle Schnittstelle (RS232) D.h. dein Arduino horcht auf der Seriellen Schnittstelle (also das Programm im Arduino horcht ...) ob und wenn ja was da so reinkommt. Wenn es etwas empfängt, dann interpretiert es das als Kommandos und macht etwas. Wer jetzt auf der anderen Seite der Seriellen Schnittstelle ist, ist dem Programm ziemlich egal. Das kannst du selber sein, der zb mit einem Terminalprogramm die entsprechenden Kommandos absetzt. Das kann aber auch natürlich ein PC-Programm sein, welches genau dasselbe tut. Denn: Der Arduino kann ja nicht unterscheiden, wer ihm da etwas schickt. Der sieht nur die Kommandos, die aus der UART purzeln.
Kacy schrieb: > Wie bekomme ich das den nun hin? Schritt für Schritt. Schließlich hast Du deine erste Fahrstunde auch nicht in einem 700PS Auto auf der Nordschleife des Nürburgrings absolviert. Und beim ersten Mal auf den Skiern bist du auch nicht die Streif oder das Lauberhorn runtergefahren. Also fang damit an, daß du auf dem Arduino die serielle Schnittstelle auslesen kannst und auf dem PC ein Programm schreibst mit dem man Worte in die serielle Schnittstelle schreiben kann. Danach kommt der nächste Schritt, dann meldest du dich wieder.
Wie du serielle Daten vom Ardunio-Board aus sendest, ist in vielen Arduino Rutorials erklärt z.B. in http://www.uchobby.com/index.php/2009/03/08/visualizing-sensor-with-arduino-and-processing/#more-288 Wie du ein PC Programm mit Visual Studio schreibst, das serielle Daten einliest ist ebenfalls in vielen Tutorials erklärt z.B. in http://www.instructables.com/id/Automate-your-science-experiments/ (anderer µC, gleiches Prinzip) Dein Job ist jetzt "nur" beides miteinander zu verbinden z.B. wie in http://www.codeproject.com/KB/system/ArduinoVB.aspx http://www.codeproject.com/KB/system/ArduinoWeather.aspx
Leider hat der Arduino keine serielle Schnittstelle sondern nur eine USB-Schnittstelle. Was meinst du mit Wörten in die serielle Schnittstelle? Bis jetzt kann ich nur den Arduino mit einer Windows-Batchdatei die Sachen drauf laden.
Kacy schrieb: > Leider hat der Arduino keine serielle Schnittstelle sondern nur eine > > USB-Schnittstelle. Das ist eine virtuelle RS232. mfg.
Kacy schrieb: > Leider hat der Arduino keine serielle Schnittstelle sondern nur eine > USB-Schnittstelle. > > Was meinst du mit Wörten in die serielle Schnittstelle? > > Bis jetzt kann ich nur den Arduino mit einer Windows-Batchdatei die > Sachen drauf laden. Such dir Tutorien, wie man mit der Arduino Bibliothek mit der seriellen Schnittstelle arbeitet. Dein erster Schritt ist sinnvollerweise genau in die umgekehrte Richtung. Dein Arduino gibt Text aus und du benutzt am PC ein Terminalprogramm um diesen Text anzuzeigen. Wenn das funktioniert, gehst du die umgekehrte Richtung an: Text, der im Terminalprogramm getippt wird über die serielle Schnittstelle am Arduino zu empfangen. Mit Google finden sich da haufenweise Informationen zb http://www.arduino-tutorial.de/2010/06/serielle-kommunikation/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.