Gast
#21466
Hallo, kann mir bitte jemand sagen, wie ich es hinbekomme, dass ich in einem festen zeitlichen Abstand (z.B. 10000 mal pro Sekunde) einen Wert von einem Analog-Digital-Wandler des ATmega 323 einlesen kann? Ich habe es mit CodeVisionAVR probiert, indem ich immer dann, wenn ein A/D-Wert gesampelt wurde einen Interrupt auslösen ließ, aber wenn ich die technischen Daten im Manual richtig gelesen habe, dann kann eine A/D-Wandlung zwischen 65 und 260 µs dauern. Der Zeitabstand zwischen den Samplewerten ist also nicht konstant. Könnte man das ändern, indem man auf den "Free Running Mode" des A/D-Wandlers umschaltet und in einer Timer-Interruptroutine im festen zeitlichen Abstand den A/D-Port ausliest? Falls ja, wie kann ich eine Timer-Interruptroutine so konfigurieren, dass sie wie gewünscht aufgerufen wird? Muss ich den Timer-Überlauf beachten und ähnliches? Ich blicke da leider nicht durch. Wäre wirklich toll, wenn ihr mir helfen könntet. Jens