in der Referenz zu den Funktionen pulseIn und pulseInLong steht in der Beschreibung dass pulseIn eher für kurze Impulse, pulseInLong für lange Impulse geeignet ist.
Die Beschreibung sagt aber nicht (habe auch nichts genaueres im Netz gefunden) wie kurz und lang zu interpretieren ist... Gibt es da eine Zahl wo die Grenze zu sehen ist ?
In einem Beispielsketch aus den Weiten des Netzes habe ich folgende Zeile gefunden: res = pulseIn(INPIN, HIGH, 3000000UL);
3000000 ist für den Timeout, aber für was steht das UL dahinter?
If you have a very long pulse that needs to be measured, and have interrupts enabled in your code, you could use pulseInLong() instead of pulseIn. The syntax is similar, and the timeout argument is optional over here as well. This function can be used for measuring pulses from 10 microseconds to 3 minutes in length, and can be used only if interrupts are enabled.It is prone to errors for shorter pulses and gives the highest resolution for larger pulses
Ja stimmt. Das kopieren des Textes beantwortet die Frage nicht. Aber das lesen. Da steht "10 microseconds to 3 minutes in length". Das ist doch ein klarer Hinweis?