Timer Interrupt mit Arduino Simulator

Hallo,
ich starte gerade meine ersten Versuche mit dem Simulator.

Hat schon einmal jemand damit einen Timer Interrupt Programiert?

Ich würde gerne im "sekundentackt" eine Variable hoch zählen.

Danke
Piecha

Was ist das denn für ein Simulator ?
Gibt es dazu einen Link ?

Hi,
der Simulator ist von "Virtronics"

Falls es was besseres gibt, nehme ich auch den. :slight_smile:

Piecha

piecha:
der Simulator ist von "Virtronics"

Falls es was besseres gibt, nehme ich auch den. :slight_smile:

Ich kann im Datenblatt von Virtronics nichts davon sehen, dass Timer simuliert werden. Also gehe ich mal davon aus: Das wird nichts mit einer Timer-Simulation.

Wenn Du es genau wissen möchtest: Lade Dir die kostenlose Testversion herunter und probiere es aus!
Oder frage den Hersteller und Anbieter!

Und wozu möchtest Du die Arduino-Hardware überhaupt simulieren, mit allen Einschränkungen und Unzulänglichkeiten, die eine Simulation mit sich bringt: Die tatsächliche Hardware (UNO-kompatibel vom China-Versender) kostet keine 10 Euro, was soll eine Simulation da an Kostenersparnis bringen, wenn Du für einen Zehner Kostenaufwand tatsächlich auch "richtige" Hardware "in echt" verwenden könntest?

Den Einsatz eines Simulators sehe ich auch nur sinnvoll wenn er Vorteile Bringt. Bei Arduino ist das schwierig da mir
1.) Kein vollwertiger Simulator bekannt ist. (dh der sich 100% gleich wie die HW verhält)
2.) die HW immernoch eigene Probleme macht die in Idealsystem der Simulation nicht möglich sind wie zB Störungen, unterdimensionierte Netzteile, falsch beschaltet, Timingprobleme.
3.) Die HW auch bei einem Orginalarduino weniger als der Simulator kostet.
Grüße Uwe

Hallo,
erst einmal danke für die Antworten. Wie schon gesagt, bin ich "Neuling".
Da ich derzeit noch nicht weis, auf welcher Basis ich mein Projekt aufsetzen werde, wollte ich es erst einmal Simolieren.

Aufgefallen ist mir auf jeden Fall, das das Timer incloud und das Interrupt Teil eine menge Resourcen brauchen. Dies kann ich aber nicht verstehen, da es in Assambler ca. 10 Zeilen Code sind.

Hat man im Editor, die Möglichkeit, den Timer und die Interruptveraltung des ATMega direkt anzusprechen?

Es sollte doch kein großer aufwand sein, die drei Register zu laden?

Grüße
Piecha

piecha:
Hat man im Editor, die Möglichkeit, den Timer und die Interruptveraltung des ATMega direkt anzusprechen?
Es sollte doch kein großer aufwand sein, die drei Register zu laden?

Ja, du kannst auch direkt avr-gcc Programmierung in der Arduino IDE machen.
Alle Namen für Ports, Timer, usw. sind definiert, nur eben nicht hier bei Arduino dokumentiert.

"Arduino" ist sozusagen eine Schicht oben drüber, wo versucht wird, die aktuelle Hardware zu abstrahieren, damit sketche z.B. für einen 328 ( UNO ) möglichst genauso aussehen wie für einen 2560 ( MEGA ).
Welcher Pin auf welchem Port liegt, welcher Timer welches PWM steuert, all sowas ist in der "Arduino - Welt" versteckt.
Da schreibst du digitalRead(19); oder analogWrite(9,123);

Es gibt einen Thread, der sich mit der Frage nach einem "Einstiegs-Arduino" beschäftigt.
Sehr empfehlenswert wenigstens mal quer zu lesen.

Darüberhinaus unterscheiden sich die Arduinos nur unwesentlich, es sind ganz grob 4 "Leistungsklassen" mit jeweils noch Unterabstufungen:

  • der "normale" UNO
  • der MEGA (mehr PINS, mehr Speicher)
  • der Leonardo
  • der DUE (32-bit Controller)

Ich habe bei meinem ersten Projekt den Leonardo genommen, weil ich die 4 Pins mit Interrupts benötigt habe.
Also vergleich die verfügbaren Arduinos mit deinen Anforderungen und entscheide dich.
Hinweis noch am Rand: Viele Shields sind nicht zu allen Boards kompatibel, der UNO ist in der Regel der Standard, da er das Arduino Referenzdesign ist.

Liebe Grüße

Dirk