Zitat Zitat von Jackeder Beitrag anzeigen
hey
sorry Klebwax,aber so langsam verstehe ich worauf du hinaus willst
ADCSRA |= (1<<ADSC); // single conversion
while (ADCSRA & (1<<ADSC)); <-- das Semikolon hat gefehlt, nach dem ich es gesetzt habe geht alles
{
// warten bis ADC fertig (also wenn ichs so schreiben würde muss ich das Semikolon hinter dem Wihle() weglassen)
}
ADC_result = ADCW; <------------- Semikolon
//ADC_result += ADCW;
Ich schreib das dann noch etwas anders, so wie das K&R mal angefangen haben: die öffnende Klammer auf die selbe Zeile wie das if oder while, dann einrücken, und die schließende auf die selbe Ebene wie das while. Die automatische Formatierung meiner IDE ist auch auf dieses Format eingestellt. Beispiel:
Code:
while (Bedingung) {
      Anweisung;
      print(....);       // zum Debuggen, kann schnell rauskommentiert werden
}

/* die Anweisung kann auch leer sein, trotzdem sieht man auf den ersten Blick
   dass hier eine Schleife ist */

while (das Reday-Bit ist false) {
      ;     // einfach warten
//      print(...);      // Debug, auskommentiert oder gelöscht
      Nop();         // später eingefügt, um einen Breakpoint zu setzen, wird wieder gelöscht
}

// am Ende sieht es so aus

while (Bedingung) {  // warten bis ready
     ;  // Einrückung erkennt man auch beim schnellen Lesen / Scrollen
}

// das ist zwar equivalent zu 
while (Bedingung) ;
/* hier rutscht einem schnell ein fehlendes Semikolon durch und der Compiler kann einem da nicht helfen. */
Das Ziel ist, daß man Code wie einen "Text" lesen kann, und sofort versteht, was gemeint ist. C ist zwar davon meilenweit entfernt, aber ein wenig kann man sich daran orientieren.

MfG Klebwax