Hallo,
ich möchte mein Programm etwas "allgemein und portabel" gestalten. Daher
möchte ich, je nachdem welche FCPU später verwendet wird, den
entsprechenden ADC-Vorteiler setzen.
Beispielsmäßig so:
1 | #ifndef F_CPU
|
2 | #define F_CPU 16000000UL
|
3 | #warning kein F_CPU definiert
|
4 | #endif
|
5 |
|
6 | if (F_CPU == 8000000UL){
|
7 | ADCSRA = (1<<ADPS2) | (1<<ADPS1); // Frequenzvorteiler auf 64 einstellen --> 125kHz Abtastrate
|
8 | }
|
9 |
|
10 |
|
11 | if (F_CPU == 16000000UL){
|
12 | ADCSRA = (1<<ADPS2) |(1<<ADPS1) | (1<<ADPS0); // Frequenzvorteiler 128 auf einstellen --> 125kHz Abtastrate
|
13 | }
|
Optimiert der Compiler so etwas weg? FCPU ist ja schon zur Compilzeit
fest und verändert sich während der Laufzeit nicht. Oder wird die
if-Anweisung tatsächlich während der Laufzeit erst behandelt?
Danke.