Hallo, möchte in meinem Quelltext prüfen, ob F_CPU definiert ist gleichzeitig sicherstellen, dass dieser auf die gewünschte Frequenz eingestellt ist. Dazu:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
Beim der Zeile
1 | |
bekomme ich den Fehler
1 | |
Was mache ich falsch?
|
Anzeige
|
Präprozessor #if VergleichHallo, möchte in meinem Quelltext prüfen, ob F_CPU definiert ist gleichzeitig sicherstellen, dass dieser auf die gewünschte Frequenz eingestellt ist. Dazu:
Beim der Zeile
bekomme ich den Fehler
Was mache ich falsch?
Gast
#2936186
du brauchst den 2. check überhaupt nicht. lege es im makescript fest und nicht in den Header Dateien! Wenn jetzt im Quellcode jemand verscuht das Define anzulegen oder auf einen anderen wert zu setzen bekommt man einen fehler. Laber Keks schrieb: > Hallo, > > möchte in meinem Quelltext prüfen, ob F_CPU definiert ist gleichzeitig > sicherstellen, dass dieser auf die gewünschte Frequenz eingestellt ist. Es zeigt sich immer öfter, dass dies scheinbare Sicherung ein Boomerang ist. Wenn F_CPU nicht im makefile oder den Project Options definiert ist, dann sollte man das tatsächlich als Fehler werten und keinen Default machen. Das Nachtragen ist kein Aufwand und es vermeidet Fehlersituationen in denen unterschiedliche C-Files unterschiedliche Werte für F_CPU benutzen. Laber Keks schrieb: > floating constant in preprocessor expression > Was mache ich falsch? Steht das nicht deutlich genug da? Der Präprozessor kann nicht mit Fliesskommawerten rechnen.
Gast
#2936202
Peter II schrieb: > du brauchst den 2. check überhaupt nicht. Ich würde sagen, er braucht den ersten Check nicht (bzw. ist sogar kontraproduktiv). Wenn das danach folgende Programm davon abhängt, dass 32 MHz eingestellt sind, ist der zweite Check schon sinnvoll. Du musst einfach 32000000UL statt 32e6 schreiben, denn 32e6 ist eine Fließkommazahl und kein Integer.
Gast
#2938690
xfr schrieb: > Du musst einfach 32000000UL statt 32e6 schreiben Um die Zahl der Nullen besser erkennen zu können, kann man's auch so schreiben:
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|