... der Fehler liegt darin, dass du ... die Variable paramtr veränderst?! ...
Danke Chris. Das war superschnell und hilfreich. Ich hatte das schon mit ner Klammer probiert, aber eben dazu noch den Zuweisungsoperator.
ABER : beim
Code:
Il_sound = (paramtr & 0xFFF0);
kommt trotzdem eins weniger raus (Kopie der Terminalausgabe) siehe Nachtrag unten :
HTML-Code:
Beep Aufruf mit 2008
Beep 8 1999
.. In deinem Code verundest du ... weist das dann paramtr zu und weist dann das Ergebniss Iv_sound zu.
Ach ja, "Vorrang und Assoziativität von Operatoren" im K&R - gibts ja ne Extra Tabelle die ich (natürlich - ähhh - leider) nicht im Kopf habe. Ist ja auch das vorletzte bedruckte Blatt . . .
- - - - - - - -
Nachtrag: Die "Eins weniger" ist geklärt. Die Variable wird anschließend in einer 50µs-ISR runtergetickert - und die testweise UART-Ausgabe braucht eben auch Zeit. Mit "cli();" und "sei();" an der richtigen Stelle passiert das nicht mehr.
Danke für die Hilfe.
Lesezeichen