Forum: Compiler & IDEs delay.h _sleep_ms() Grenze


von itdoesntmatter (Gast)


Lesenswert?

http://www.nongnu.org/avr-libc/user-manual/group__util__delay.html#gd22e7a36b80e2f917324dc43a425e9d3

> The maximal possible delay is 262.14 ms / F_CPU in MHz.

Ergebnis in ms oder s?

von Sven P. (Gast)


Lesenswert?

Machst du dir Sorgen, dass das Delay nicht ausreicht?

Die geschweiften Klammern um F_CPU bedeuten: ZAHLENWERT von F_CPU, ohne 
Einheit. Also ist d_max in Millisekunden.

von Simon K. (simon) Benutzerseite


Lesenswert?

itdoesntmatter schrieb:
> 
http://www.nongnu.org/avr-libc/user-manual/group__util__delay.html#gd22e7a36b80e2f917324dc43a425e9d3
>
>> The maximal possible delay is 262.14 ms / F_CPU in MHz.
>
When the user request delay which exceed the maximum possible one, 
_delay_ms() provides a decreased resolution functionality. In this mode 
_delay_ms() will work with a resolution of 1/10 ms, providing delays up 
to 6.5535 seconds (independent from CPU frequency). The user will not be 
informed about decreased resolution.

von Simon K. (simon) Benutzerseite


Lesenswert?

Wenn es Millisekunden wären, dann wäre man ja im Bereich 0.26214/16 = 
0.0164 ms. Das wären 16,4µs. Was für ein Sinn würde dann das _ms am Ende 
machen?

EDIT: Kleiner Denkfehler: Natürlich sind es ms, da ich ja bei der ersten 
Rechnung schon in Sekunden umgerechnet habe.
Die Gleichung für Sekunden wäre also
0.26214 / FCPU.

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
Noch kein Account? Hier anmelden.