luma
06.08.2005, 21:55
Hio. Also ich habe nur Probleme mit den Odometriezähler von Asuro. Als nach einiger Zeit immer noch jedes Programm das mit den Odometriezähler gearbeitet hat, hab ich mal einen kleinen Test durchgeführt und bekamm bizarre Ergebnisse.
Ich hab den Programmcode im Anhang drin. (Falls sich jemand wundert: Das ist die erweiterte Bibliothek von Weja. Ich hab noch ein bisschen dran gebastelt und alles Kommentiert.). Wenn man jetzt unter Windows HyperTerminal startet und auf Empfang geht, wird man sich schnell wundern. Der Asuro dreht sich ganz langsam und gibt die aktuellen Odometriwerte auf der Konsole aus. Allerdings gibt's da manchmal extreme Sprünge (also von 18 auf 250). Woran liegt das? Selbst wenn ich das Ding anschalte und es dann festhalte (es sich also nicht bewegt) gibt Asuro schon einen Wert > 0 zurück!?! Hää!? Kann mir da vielleicht jemand helfen. Ich wäre ihm sehr dankbar!
Im Anhang ist der Code. Ich habe noch ein paar Fragen dazu:
Linie 63: Wiese wird toggle nicht erst initialisiert? Wieso ist toggle static und was bedeutet static? Wiso wird der AD-Wandler so ausgelesen? Da sind doch immer 2 Schritte nötig (x = ADCL; und x += (ADCH<<8);)?!?
Linie 70 & 75: Wiso werden da nur so kleine Werte getestet? Ich dachte die liegen zw. 0 und 1023?
Was ist ADLAR und was bewirkt es?
Danke für eure Hilfe. Lutz
Ich hab den Programmcode im Anhang drin. (Falls sich jemand wundert: Das ist die erweiterte Bibliothek von Weja. Ich hab noch ein bisschen dran gebastelt und alles Kommentiert.). Wenn man jetzt unter Windows HyperTerminal startet und auf Empfang geht, wird man sich schnell wundern. Der Asuro dreht sich ganz langsam und gibt die aktuellen Odometriwerte auf der Konsole aus. Allerdings gibt's da manchmal extreme Sprünge (also von 18 auf 250). Woran liegt das? Selbst wenn ich das Ding anschalte und es dann festhalte (es sich also nicht bewegt) gibt Asuro schon einen Wert > 0 zurück!?! Hää!? Kann mir da vielleicht jemand helfen. Ich wäre ihm sehr dankbar!
Im Anhang ist der Code. Ich habe noch ein paar Fragen dazu:
Linie 63: Wiese wird toggle nicht erst initialisiert? Wieso ist toggle static und was bedeutet static? Wiso wird der AD-Wandler so ausgelesen? Da sind doch immer 2 Schritte nötig (x = ADCL; und x += (ADCH<<8);)?!?
Linie 70 & 75: Wiso werden da nur so kleine Werte getestet? Ich dachte die liegen zw. 0 und 1023?
Was ist ADLAR und was bewirkt es?
Danke für eure Hilfe. Lutz