Forum: Compiler & IDEs atmega168 maximale ADC sample rate?


von lau--de (Gast)


Lesenswert?

Hallo liebe community,

warum bringt mir dieser Code (atmega168, Taktfrequenz: 8 MHZ):
cbi(ADCSRA,ADPS0);sbi(ADCSRA,ADPS1);sbi(ADCSRA,ADPS2);//prescalar = 64

  sbi(ADCSRA,ADEN );

  sei();
  cbi(ADMUX,MUX0);cbi(ADMUX,MUX1);cbi(ADMUX,MUX2);cbi(ADMUX,MUX3);//Eingan 
g  PC0
  loop_until_bit_is_clear(ADCSRA, ADSC);

  while (1) {
    sbi(ADCSRA, ADSC); //измеряем канал А
    loop_until_bit_is_clear(ADCSRA, ADSC);
    uint16_t current_level1 = ADCL; //читаем первые 8 бит
    current_level1 += (ADCH<<8);  //и остальные 2 бита
    PORTB ^= (1<<PB0);
  }

nur eine ADC Messung pro Millisekunde? sollte laut DS um 10000 mal pro 
Sekunde messen können - mit meinen Einstellungen...

vielen Dank im voraus
Slava

von Karl H. (kbuchegg)


Lesenswert?

lau--de schrieb:

> nur eine ADC Messung pro Millisekunde? sollte laut DS um 10000 mal pro
> Sekunde messen können

also ein Faktor 10. Mit etwas gutem Willen kann man das als Faktor 8 
auffassen.

> - mit meinen Einstellungen...

Da wage ich, das hier

> Taktfrequenz: 8 MHZ

in Zweifel zu ziehen.
CKDIV8 Fuse noch programmiert?

von Stanislav S. (lau-de)


Lesenswert?

hm, habe bestimmt vorher gecheckt aber war seltsamerweise gesetzt; 
DANKE! :)

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
Noch kein Account? Hier anmelden.