Hallo, ich habe ein Projekt mit dem Atmega4808 vor. Beim ADC steht im Datenblatt: "The ADC requires a settling time after switching the input channel - refer to the Electrical Characteristics section for details." Leider finde ich dazu keinen Hinweis, wie hoch die Zeit bzw. wieviel Clocks das nun wirklich sein soll. Habt ihr da eine Idee? Ich schalte immer zwischen zwei Kanälen um und messe dann. Die Zweit zwischen Kanalwechsel und Messung starten suche ich quasi.
1 | ADC0.MUXPOS = MUX_I_SOLL; |
2 | ADC0.COMMAND = ADC_STCONV_bm; |
3 | asm volatile ("nop"); |
4 | while ( !(ADC0.INTFLAGS & ADC_RESRDY_bm) ); |
5 | I_soll = ADC0.RES; |
6 | |
7 | //////////////////////////////////////////////////////////////////////////
|
8 | ADC0.MUXPOS = MUX_I_IST; |
9 | ADC0.COMMAND = ADC_STCONV_bm; |
10 | asm volatile ("nop"); |
11 | while ( !(ADC0.INTFLAGS & ADC_RESRDY_bm) ); |
12 | I_ist = ADC0.RES; |