Arduino Programm und C++ Benutzeroberfläche, .exe funktioniert nicht vollständig

Hallo,

ich habe gerade ein Problem. Ich habe den Arduino UNO darauf läuft ein Programm für eine 3-achsige Schrittmotorsteuerung.
Über Microsoft Visual Studios 2010 (C++) habe ich ein weiteres Programm, welches die Benutzeroberfläche darstellt. Von diesem Programm findet die gesamte Bedienung statt.

Das Programm enthält einen manuellen Modus und einen automaischen Modus. Beim Starten aus Visual Studios (debuggen) funktioniert alles wunderbar.
Beim Starten der .exe Datei funktioniert nur der manuelle Modus beim automatischen Modus wird die Referenzfahrt der Z-Achse gestartet und anschließend bleibt alles stehen und er hängt sich auf. Es sollte eigentlich die Referenzfahrt der X und Y Achse folgen. Keine Fehlermeldung oder ähnliches.

Hat jemand eine Ahnung wo der Fehler liegen könnte oder wo ich suchen sollte?

Ich kann den Code leider nicht posten, da dieser von einer Firma ist.

Schon mal vielen Dank für eure Hilfe.

Viele Grüße

Du kannst den Code nicht posten und wir können nicht hellsehen.
Was machen wir dann?

Grüße Uwe

ich hatte gehofft, dass jemand schon mal ein ähnliches Problem hatte und mir sagen könnte wie man da am besten auf Fehlersuche geht oder wie man es beheben könnte.

masimb03:
ich hatte gehofft, dass jemand schon mal ein ähnliches Problem hatte und mir sagen könnte wie man da am besten auf Fehlersuche geht oder wie man es beheben könnte.

Dann müsste dieser "Jemand" ja deinen Sketch verwenden.

Wie Uwe schon schrieb: Ohne Sketch keine Chance, nur raten.

Und da du etwas von einer "Exe-Datei" schreibst, vermute ich mal, dein Problem liegt nicht im Arduino.

Zwischen

  • .exe laufen lassen ( geht nicht )
  • in Visual Studio debuggen (geht)

gibt es viel dazwischen:

  • In VisualStudio die Release version bauen und starten ohne debugging
  • LogDateien erzeugen und mitschreiben, was wann passiert
  • die Debug Version laufen lassen (evtl. später den Debugger attachen)

Auch auf der Arduino Seite kann man viel zur Fehlersuche beitragen

  • Rückmelden was erkannt wurde und was gemacht wurde ( am PC in die log-Datei oder in einem extra Fenster anzeigen )

Da das ganze was mit Schrittmotoren zu tun hat, ist Geschwindigkeit vermutlich kein Thema. Aber meine Glaskugel sagt : "Schaun mer mal".

Die PC-Benutzeroberfläche ist in C++ ? !
Da würde ich einfach mal von vorn anfangen und eine Test-Oberfläche in .net ( c# ) machen.
Und evtl. das Protokoll so ändern, dass du jeden SerialMonitor zum Testen nehmen kannst.

michael_x:
Die PC-Benutzeroberfläche ist in C++ ? !
Da würde ich einfach mal von vorn anfangen und eine Test-Oberfläche in .net ( c# ) machen.

.NET ist nicht auf C# beschränkt. Es gibt auch Visual C++, bzw. C++/CLI und vor allem für bestehende VB Programmierer in Unternehmen leider VB.NET. Ich hätte auch C# verwendet, aber letztlich ist es das gleiche Framework dahinter.

.NET ist nicht auf C# beschränkt

Stimmt.

Vor zehn Jahren (oder war das im letzten Jahrtausend?) haben wir Microsoft gedrängt, c++ auf .net nicht sterben zu lassen.

Sie haben uns traurig angeguckt, erzählt, dass die Performance gar nicht so schlecht ist. Besonders, wenn man nicht dauernd zwischen managed und unmanaged hin und her schaltet. Und nur wegen den blöden COM Objekten sollte man nicht denken, dass man eine eigene interop erfinden müsste.

Inzwischen ist managed c++ brauchbar, und wir *) benutzen es fast nicht mehr.

Um mal eben schnell eine Test - App für den Arduino zusammenzuklicken, würde ich wirklich wenig von dem verwenden, was schon seit Jahrzehnten in der c++ Toolbox vorhanden ist.


*) mein Durchschnittsalter ist um ca 20 Jahre gestiegen in der Zeit. Das meiner Kollegen ist kleiner geworden.