www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller mit nem externen C++ Programm steuern


Autor: Kacy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Kacy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie bekomme ich das den nun hin?

Autor: U.R. Schmitt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/visual...

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-scie... 
(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

Autor: Kacy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas Eckmann (Firma: Thomas Eckmann Informationst.) (thomase)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kacy schrieb:
> Leider hat der Arduino keine serielle Schnittstelle sondern nur eine
>
> USB-Schnittstelle.

Das ist eine virtuelle RS232.

mfg.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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-ko...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.