ADC Vorteiler berechnen lassen

Moderator Persönliche Seite #1002911
Lesenswert?

Naja, du könntest es mit einer Kette von #if #elif #else machen,
etwa so:
1
#ifndef F_ADC_MAX
2
#  define F_ADC_MAX 200000
3
#endif
4

5
#if (F_CPU) / 2ul <= F_ADC_MAX
6
#  define ADPSCALE (_BV(ADPS0))
7
#elif (F_CPU) / 4ul <= F_ADC_MAX
8
#  define ADPSCALE (_BV(ADPS1))
9
#elif (F_CPU) / 8ul <= F_ADC_MAX
10
#  define ADPSCALE (_BV(ADPS1) | _BV(ADPS0))
11
#elif (F_CPU) / 16ul <= F_ADC_MAX
12
#  define ADPSCALE (_BV(ADPS2))
13
#elif (F_CPU) / 32ul <= F_ADC_MAX
14
#  define ADPSCALE (_BV(ADPS2) | _BV(ADPS0))
15
#elif (F_CPU) / 64ul <= F_ADC_MAX
16
#  define ADPSCALE (_BV(ADPS2) | _BV(ADPS1))
17
#elif (F_CPU) / 128ul <= F_ADC_MAX
18
#  define ADPSCALE (_BV(ADPS2) | _BV(ADPS1) | _BV(ADPS0))
19
#else
20
#  warning "No suitable value for ADPSCALE found."
21
#  define ADPSCALE (_BV(ADPS2) | _BV(ADPS1) | _BV(ADPS0))
22
#endif
Gast #5463208
Lesenswert?

Hallo alle miteinander,

wie erhalte ich meinen Frequenzvorteiler  um eine maximale Auflösung zu 
erhalten.

Ich habe einen Systemtakt von 8 MHz.
(Der Arbeitsfrequenzbereich liegt bei 50kHZ bis 200kHZ)

Teilungsfaktor vorhanden 2,4,8,16,2,64,128.

Meine Vermutung 8000000hz/64 =125 kHZ

oder doch  : 8000000hz/128 =62,5 kHZ

Welcher Wert ist besser um eine maximale Auflösung mit dem AD-Wandler zu 
erhalten ?

DIRK
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.