Hallo,

Zitat von
stochri
Hallo Herman,
ohne jetzt genauer nachschauen zu wollen meine ich mich grob zu erinnern, dass es problematisch sein kann, den AD-Wandler zu benutzen, wenn die Encoder-Interrupts laufen. Beisst sich die Konfiguration des Wandlers bei autoencode mit der Konfiguration der Batterie()-Funktion?
Gruss,
stochri
um die Mißverständnisse von oben aufzulösen, autoencode ist auf false.
Das folgende minimale Codestück zeigt das komische Verhalten (Werte <255) -- und wie gesagt, eben erst seit kurzem -- vorher kamen Werte über 800 und bei vollen Batterien über 900 raus:
Code:
#include <asuro.h>
int main(void)
{
Init(); // setzt "autoencode = FALSE;"
SerPrint("\r\nBatterie=");
PrintInt(Batterie());
SerPrint("\r\n");
while (1) ;
return 0;
}
Vielleicht habe ich neben dem Widerstand R21 noch irgendein anderes Bauteil in eine mißliche Lage gedrückt. Welche Bauteile (außer dem AtMega) haben denn überhaupt mit der Funktion Batterie() zu tun?
Lesezeichen