Hm, komisch.
Ich bin mittlerweile zu 128 als Konstante übergegangen und verwende folgenden Code:
Code:
void sound(uint8_t hoehe, uint16_t laenge)
{
for(uint16_t i=0; i<laenge*15; i=i+(2*hoehe))
{
setportdon(7);
_delay_loop_2(hoehe<<7); // wait for 0,032*hoehe ms with F_CPU of 16 MHz
setportdoff(7);
_delay_loop_2(hoehe<<7); // wait for 0,032*hoehe ms with F_CPU of 16 MHz
}
}
Der Ton sound(6, 270); dauert bei mir etwa 0,13ms (sowohl rechnerisch als auch experimentell bestimmt!). verwendest du auch die neueste avr-libc? nicht dass wir mit unterschiedlichen "_delay_loop_2"-Implementierungen arbeiten 
Ich habe als Anhang mal die Startmelodie beigelegt, die sich bei mir mit obigem Code ergibt - bei dir hört es sich nicht so an? Mit 420 sind bei mir die Töne viel zu langgezogen, da wird die Startmelodie ja noch viel länger 
Die Startmelodie der Bascom-Version ist grundlegend anders (vor allem viel kürzer) - warum auch immer (da hatte wohl wer Spass am Komponieren).
Lesezeichen