Ich benutze in meinem Programm mehrere Timer für unterschiedliche „Arbeiten“. Z.B nutze ich den Timer0 und den Timer1. Beide Timer werden zu unterschiedlichen Zeiten „aufgerufen“.
Der Timer0 z.B. dient dazu eine Variable jede Sekunde hoch zu zählen.
Der Timer1 z.B. dient dazu eine Funktion alle 25ms abzuarbeiten.
Ich bin mir nicht sicher, wie lange der Arduino Mega2560 benötigt, um die Funktionen abzuarbeiten.
Ich habe mir die Frage gestellt was passiert, wenn es dazu kommt das beide Timer zu gleichen Zeit auslösen und auf deren Funktionen verwiesen wird.
Momentan liegt es noch nicht vor, dass meide Timer in einem Programmcode implementiert sind. Momentan sind es zwei unterschiedliche Programme die noch zusammengefügt werden sollen.
Ist probieren verboten oder hast du religiöse Vorurteile?
Technisch gesehen ein Prozessorkern ist nicht in der Lage etwas gleichzeitig zu machen. Da du im Programm Timers ein nach der anderen einstellst, sie werden genau so eine nach der anderen abgefeuert und auch behandelt. Aber du kannst probieren zu erklären wieso braucht man solche Precision bei Hobby Elektronik.
Nach meinem Verständnis könnte es theoretisch dazu kommen, dass es ein Moment gibt bei dem beie Timer gleichzeitig sich "melden". Und da stell ich mir die Frage, was dann passiert. Wird ein Timer nicht behandelt? Gibt es eine Priodisierung? Ect.
Timer0 soll bei mir jede Sekunde auslösen. Und Timer1 jede 25mS. Das würde ja bedeuten, dass es zu einer Überschneidung kommt.
Doch, weil sie genau beschreibt, was passiert. Der Arduino kann nur 1 Interrupt abarbeiten. Während dieser Zeit sind die anderen Interrupts gesperrt. Der nächste kommt also erst dran, wenn der erste fertig ist.
Lies doch mal richtig und gebe solche Antworten mit dem man auch was anfangen kann!!!!!
"Wer zuerst kommt, der mahlt zuerst"
Weggegangen Platz vergangen, oder wie jetzt?
Man, echt jetzt!
Aaaaaaah ich soll jetzt interpretieren, dass der Arduino nur ein Interrupt abarbeiten kann.
Wieso bin ich da nicht gleich selber drauf gekommen. Das steht ja da zwischen den Zeilen. Wie dumm von mir! Und dann weiß ich ja auch, dass alle anderen Interrupt-Quellen gesperrt sind. Ist doch logisch. Und dann weiß ich auch automatisch, dass die zweite Interrupt-Quelle nicht übergangen wird, sondern dann erst ausgeführt wird.
Danke @Tommy56 mit deiner Antwort kann ich was anfangen. Das klärt meine Fragen.
Mit der von @paulpaulson kann ich nichts anfangen!
Kann man sich auch sparen hier noch ein Spruch hinterher zu schreiben.
Scheint du bist mit der Realität nicht einverstanden, ok, dann probiere ich so zu antworten dass du es magst, trotz dass es Blödsinn ist: da wir alle schlau sind und in der Schule gelernt haben dass 1000 durch 25 rückstandslos geteilt wird und so zu Kollision von zwei Timers kommen kann, dann stellen sie einen Eintrag und fechten ihre Vorfahrtrechte vor Gericht, und sollte es nicht reichen, werden weitere Verhandlungen folgen, bis einen der Timer aufgibt und tritt zurück.
Und da folgt glatt der nächste schwachsinige Komentar!
Und wie bist du jetzt auf meine Fragen bezüglich darauf eingegangen, was jetzt genau beim Arduino passiert?
Das es zu Kollision kommen kann hab ich auch erwähnt. Daran habe ich auch gedacht. Aber die FRAGE die ich gestellt habe ist: WAS PASSIERT DANN, WENN DER FALL EINTRITT UND BEIDE TIMER IHR SIGNAL SENDEN.
Und dann habe ich noch gefragt, ob es da zu Problem kommen könnte.
Aber die Antwort: "wer zuerst kommt, mahlt zuert" sagt natürlich alles!
Da hab ich einfach nicht gut genug mitgedacht. Das hätte natürlich geholfen.
Las mich raten, da ich jetzt weiss wie hilfreich mitdenken von Zeit zu Zeit sein kann, das steht unter dem Punkt "wer zuerst kommt, mahlt zuerst" im Datenbaltt.
@Kai-R danke für deine Antwort und Hinweis, wo man im Datenblatt pfündig werden kann.
Das, meine Herren, ist ein Beispiel einer guten Antwort!
Eine konkrette Antwort auf eine konkrette Frage. Im dem Fall war meine Frage nicht konkrett, sondern scherzhaft gemeint. Aber genau so stellt man sich doch eine Antwort vor. Und nicht, dass man sich nacht einer Antwort noch mehr Fragen stellt, weiter nachhaken muss, oder ganz verwirrt wird!
ABER vielleicht merken sich sowas einige Personen und handeln auch entsprechend. Aber das muss man natürlich nicht erklären, wie man auf eine Fragestellung antwortet.
Ob es zu Problemen führen kann das Datenblatt zu lesen? Da es offensichtlich für einige nicht logisch ist gleich nach Manual zu suchen. Aber ich persönlich danke dem TO für die Teilnahme an unserem herzhaften Community.