Hallo, #define F_CPU 8000000 // 8 Mhz #define F_ADC 160000 // 160Khz Wunsch Abtastrate uint8_t AdcCalcPrescaler(void) { uint8_t Teil = (F_CPU / F_ADC); return( Teil <= 2 ? 1 : Teil <= 4 ? 2 : Teil <= 8 ? 3 : Teil <= 16 ? 4 : Teil <= 32 ? 5 : Teil <= 64 ? 6 : 7 ); } Laut Datenblatt soll die Abtastrate zwischen 50 und 200 Khz liegen. Die obige Berechnung sollte den besten Teiler ermitteln. Nebenwirkungen und Folgen bitte hier Posten. MfG
Gast schrieb:
> Laut Datenblatt soll die Abtastrate zwischen 50 und 200 Khz liegen.
Nein, nicht die Abtastrate, sondern der ADC Takt. Die Abtastrate ist um
den Faktor 13 niedriger!
Nette Idee, find ich sehr gut! Kann man ja auch Wunderbar für Timerinterrupts verwenden, wenn man beim Debuggen noch oft zwischen den CPU Frequenzen wechselt!
Hallo, @Benedigt > Nein, nicht die Abtastrate ... Stimmt. > return (1<<Teil) täte es auch, nicht? würde 1,2,4,8,16... erzeugen! MfG
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.