Programme können manchmal Laufzeitfehler aufweisen. Diese sind manchmal schwer zu finden und können leicht übersehen werden. Gibt es eine Möglichkeit, das Programm zu testen, bevor es tatsächlich auf die Platine gebrannt wird?
Programme können manchmal Laufzeitfehler aufweisen. Diese sind manchmal schwer zu finden und können leicht übersehen werden. Gibt es eine Möglichkeit, das Programm zu testen, bevor es tatsächlich auf die Platine gebrannt wird?
Antworten:
Es gibt einige Arduino Simulator-Projekte.
Vielleicht ist einer der ausgereifteren der Virtronics Simulator für Arduino , YouTube-Video hier .
Die oben verlinkte Virtronics-Seite listet auch einige andere kostenlose und kostenpflichtige Arduino-Simulatoren auf.
Angesichts des Interesses, das der Arduino hervorruft, wird es wahrscheinlich noch viel mehr solcher Simulatoren geben. Es macht also keinen Sinn, sie alle hier in einer Antwort aufzulisten.
Bemerkenswert ist, dass es auch eine Arduino Simulator iPhone-App gibt : Dies ist keine Empfehlung, da sie noch nicht in Betrieb ist.
Als Randnotiz:
Der Arduino ist an sich ein Prototyping / Experimentierboard. Es ist ideal, um experimentellen Code zu programmieren, zu debuggen, zu ändern und dann frischen Code erneut zu flashen, so oft es einem gefällt . Wenn der Code nicht mehr reagiert, setzen Sie ihn zurück, und führen Sie bei Änderungen einen Neustart durch.
Daher ist der Nutzen der Verwendung eines Simulators, der die verschiedenen realen Zeitvorgaben oder andere Probleme, mit denen eine Anwendung konfrontiert sein könnte, niemals perfekt emulieren kann, fraglich.
Wenn die Kosten des Arduino das Problem sind, gibt es ein paar Möglichkeiten:
Sie können Laufzeitfehler finden, wenn Sie Ihr Programm manuell mit dem verbundenen Arduino durchlaufen und debuggen können ( nachdem Sie Code auf das Arduino heruntergeladen haben). Dies ist in Visual Micro verfügbar, obwohl Visual Studio erforderlich ist. Sie können Haltepunkte setzen, Variablen auswerten und Variablenwerte ändern. Sie können sich auch den Speicher im Laufe der Zeit anzeigen lassen:
Ein Weg, dies zu tun, wäre, ein Wrapper-Programm für den tatsächlichen Code zu erstellen, das alle Eingaben simuliert und Ausgaben akzeptiert (wodurch eine Rückkopplungsschleife erzeugt wird), wie es in der realen Umgebung der Fall ist. Dies würde je nach Art des Programms, Grad der Prüfung und Anzahl der Eingaben einen variablen Aufwand bedeuten.
Denken Sie daran, dass Sie beim Schreiben des Wrapper-Programms einen Black-Box- Ansatz verfolgen sollten .
Andernfalls Ihr äußeren Code kann nicht das Programm testet so gut wie möglich als den eigentlichen Code im Auge behalten , während der Test - Code zu schaffen Vorspannung kann man Grenzfälle oder Problembereiche zu ignorieren (Dies ist beobachtet worden , geschehen während tun White-Box Tests der ist die Alternative).