Als «timers» getaggte Fragen

Timer sind die Hardware im Prozessor, mit der Ereignisse gezählt und zeitlich festgelegt werden. Verwenden Sie dieses Tag für Fragen zu den Hardware-Timern.

3
Verwenden von millis () und micros () in einer Interruptroutine
Die Dokumentation für attachInterrupt()sagt: ... millis()basiert auf Interrupts, um zu zählen, sodass es in einem ISR niemals inkrementiert wird. Da delay()Interrupts erforderlich sind, funktioniert es nicht, wenn es in einem ISR aufgerufen wird. micros()Funktioniert anfangs, verhält sich jedoch nach 1-2 ms unregelmäßig. ... Wie unterscheidet micros()sich von millis()(außer natürlich für …

2
Sind Funktionszeigerzuweisungen in Arduino atomar?
Die folgenden Ausschnitte stammen aus dem Quellcode der TimerOne-Bibliothek : // TimerOne.h: void (*isrCallback)(); // TimerOne.cpp: ISR(TIMER1_OVF_vect) // interrupt service routine that wraps a user defined function supplied by attachInterrupt { Timer1.isrCallback(); } // TimerOne.cpp: void TimerOne::attachInterrupt(void (*isr)(), long microseconds) { if(microseconds > 0) setPeriod(microseconds); isrCallback = isr; // register …

1
Timer3 im CTC-Modus einstellen - Konflikt mit der Servobibliothek
Ich möchte einen Timer einrichten, um eine Funktion 800 Mal pro Sekunde aufzurufen. Ich verwende Arduino Mega und Timer3 mit einem Prescaler von 1024. Um den Prescaler-Faktor auszuwählen, habe ich die folgenden Schritte berücksichtigt: CPU-Frequenz: 16 MHz Timer-Auflösung: 65536 (16 Bit) Dividieren CPU freq durch den gewählten Vorteiler: 16x10 ^ …


4
Schalten Sie Arduino alle 24 Stunden mit dem Timer ein
Ich arbeite derzeit an einem Arduino-Projekt, bei dem die Ladung meiner Autobatterie einmal täglich über einen ESP8266 an mich gesendet wird. Im Winter fahre ich kein Auto und möchte informiert werden, wenn die Batterie einen kritischen Wert überschreitet, damit ich sie aufladen und Schäden vermeiden kann. Daher ist Energieeffizienz für …
9 power  timers  relay 

6
Sehr lange Verzögerung () möglich?
Ich versuche, eine kleine Tür zu öffnen und zu schließen, die sich alle 12 Stunden öffnen oder schließen sollte. Ich habe mich gefragt, ob ich nur ein kleines Schleifenskript mit einer Verzögerung () für 12 Stunden und einer Verzögerung (43 200 000 000) erstellen könnte. Ich vermute? Ich habe jedoch …


1
Wird flüchtig benötigt, wenn auf Variablen von> 1 ISRs zugegriffen wird, diese jedoch nicht außerhalb von ISRs gemeinsam genutzt werden?
Es ist klar dokumentiert, dass beim Teilen globaler Daten mit einem ISR und dem Hauptprogramm die Daten deklariert werden volatilemüssen, um die Speichersichtbarkeit zu gewährleisten (und dies reicht nur für 1-Byte-Daten aus; alles, was größer ist, erfordert spezielle Vorkehrungen, um auch die Atomizität zu gewährleisten). . Hier haben wir gute …
9 interrupt  timers  isr 


5
Kann ich delayMicroseconds genauer machen?
Ich versuche, DMX-Daten zu knacken, und das erfordert 4us-Impulse. Ich habe nicht viel Glück mit den Ergebnissen und überprüfe, wie gut der Arduino verzögert ... Scheint ziemlich schrecklich darin zu sein. Hier ist ein kurzer kleiner Test, den ich gemacht habe: unsigned long ptime; void setup() { Serial.begin(9600); } void …


3
PWM mit nur 8 Bit schreiben? (Timer2)
Ich habe ein Problem mit der Servobibliothek. Ich muss ein PPM-Signal lesen und ein PWM-Signal für jeden Kanal erstellen. Das Problem ist, dass PPM eine höhere Auflösung als PWM hat, daher möchte ich den 16-Bit-Timer1 zum Lesen von PPM verwenden. Die Servobibliothek, die das PWM-Signal schreibt, verwendet jedoch auch Timer1. …
7 pwm  timers 

1
Der Unterschied zwischen "time_t" und "DateTime"
Ich bin auf ein Problem gestoßen, bei dem versucht wurde, zwei verschiedene Arduino-Timer-Projekte zu kombinieren, die ich online gefunden habe. Für beide Projekte verwende ich eine DS3231-RTC, konnte aber die DS1307-Bibliothek in meinem Code problemlos verwenden. Der erste Satz Code, den ich aufgenommen habe, begann mit: #include <DS1307RTC.h> Der zweite …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.