Alan wrote:
> Muss ich infolgedessen nun auf einen Timer ausweichen?
Was sollte sich denn damit ändern?
Du mußt Deine Herangehensweise ändern.
In der Regel ruft man die Funktionen mit konstanten Parametern auf und
dann kann man ganz leicht die Konstantenberechnung vor den Aufruf
ziehen.
Schau mal in die Delayfunktionen, da gibt es welche, denen man die
Zykluszahl übergeben kann.
Timer ist aber keine schlechte Idee, besonders, wenn man die
Compareausgänge benutzt. Dann gibt es keine Störungen durch Interrupts
und der Ton klingt bedeutend sauberer.
Auch sind unsigned Rechnungen in der Regel einfacher. Da Du keine
negativen Töne mit negativer Dauer erzeugen kannst, nimm für die
Parameter besser unsigned.
1..65000 Sekunden als Dauer ist nicht so der Brüller, ich würde zu 10ms
Raster raten, bis 2,5s reicht dann ein unsigned char völlig aus.
Peter