Welche Möglichkeiten gibt es Arduino-Code zu simulieren? Konkret möchte ich die Geschwindigkeit simulieren. Die angeschlossene Hardware besteht im Grunde nur aus Shiftregistern, Tastern, LEDs und einem Display. Kann ich das vielleicht sogar mit AVR-Studio machen wenn ich da irgendwie die Arduino-Dependencies und so einbinde? Oder mit einem anderen bewährten Simulator? Danke
Schau dir mal Proteus von Labcenter an. Ich hab hier schon öfters drauf verwiesen: Beitrag "Re: 4 Bit Zähler aus Flip-Flops" Beitrag "Re: Binär-Uhr hoffentlich finale Schaltung"
Maus schrieb: > Welche Möglichkeiten gibt es Arduino-Code zu simulieren? Was zur Hölle möchte man da simulieren? Das ist doch lächerlich.
> Proteus von Labcenter kann ich da tatsächlich Arduino-Code mit Bootloader simulieren? > Was zur Hölle möchte man da simulieren? Das ist doch lächerlich. Jau, Danke für die Antwort ;) Na wie gesagt, das Timing möchte ich raus finden. Ich möchte schauen ob eine Timer-ISR zu lang wird, also ob sie erneut aufgerufen wird bevor sie durch gelaufen ist. Und ob da zwischen den Ticks noch platz für Dinge aus dem Loop sind. usw. Was ist daran lächerlich? Wäre ziemlich cool!
Maus schrieb: >> Proteus von Labcenter > kann ich da tatsächlich Arduino-Code mit Bootloader simulieren? ich brauch noch deine telefonnummer, wenn ich dir das internet vorlesen soll. ...
na das habe ich gefunden: http://www.youspice.com/ys/howto-arduino-simulation-proteus.3sp aber scheint so als ob man hier nur .hexen reinladen kann und nicht Takt-für-Takt die Abarbeitung des Arduino-Codes beobachten kann. Also nicht so, wie das in z.B. AVR-Studio in C geht. Also so etwas gibt es nicht?
Trick um Interrupt-Timing Probleme zu lösen: Pin am anfang auf 1 Setzen und am ende wieder auf 0. Das mit nem Oszi anschauen, alternativ Flipflop oder so ein Kram ran. Ansonsten hab ich mir gerade das überlegt: volatile int dummer_zufall = 0; ISR { if(dummer_zufall == 1) { ALARM ALARM ALARM } dummer_zufall = 1; total überladene Interruptrutine... ... ... ... ... ... } Während dessen in der while-Schleife: while(1) { dummer_zufall = 0; }
> volatile int dummer_zufall = 0; > > ISR > { > if(dummer_zufall == 1) > { > ALARM ALARM ALARM > } gute idee, danke!
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.