Was ist denn SerWrint? warum nicht SerWrite?
Versuch mal eine ältere Version der Asuro Lib, vielleicht hat sich da ein tippfehler in der batterie-funktion eingeschlichen.
Hallo,
seit einiger Zeit funktionierten bei mir die Taster nicht (mehr) richtig, aber die brauchte ich auch nicht.
Nachdem ich einmal den Prozessor neu eingesteckt habe, funktionieren die Taster wieder perfekt, und auch die Motoren, die Liniensensoren und die Odometrie, aber die rechte BackLED geht nicht mehr, und die StatusLED kennt nur noch die Zustände GREEN und OFF.
Hiermit könnte ich ja leben (BackLED's kann man sowiso nicht benutzen, wenn man Odometrie macht), aber fast alle meine Programme fangen wie folgt an:
Bisher bekam ich da auch immer Werte zwischen 970 (voll) und etwas über 800 (kurz vor VLVLVL) angezeigt.Code:Init(); SerPrint("\r\nBatterie="); PrintInt(Batterie()); SerPrint("\r\n");
Seit neuestem werden aber nur Werte unter 200 angezeigt ...
Hat jemand 'ne Idee?
Was ist denn SerWrint? warum nicht SerWrite?
Versuch mal eine ältere Version der Asuro Lib, vielleicht hat sich da ein tippfehler in der batterie-funktion eingeschlichen.
Hi,
ich verwende die Lib v270, da gibt es sowohl:Zitat von damaltor
als auch:Code:void SerPrint ( unsigned char * data ) Sendet einen null-terminierten String ueber die serielle Schnittstelle. (Autor: stochri)
Code:void SerWrite ( unsigned char * data, unsigned char length ) Ausgabe von Zeichen ueber die serielle SchnittstellDas hat aber bis vor kurzem auch mit der Lib v270 funktioniert ...Zitat von damaltor
Naja aber einen Versuch ist es doch wert... bei sourceforge gibt es noch die version 2.61, teste mal mit der.
Hi,
arbeitest du mit auto_encode=TRUE?
Es gibt Probleme, wenn die Rad Encoder im Interrupt Betrieb laufen. Das kann dann A/D Wandler Messungen stören, die in der Hauptschleife aufgerufen werden.
Das steht auch schon auf der Bugliste. In der LineData Funktion ist es z.B. schon gefixed, in der Batterie Funktion noch nicht.
Hi,
guter Hinweis, aber leider ist das nicht das ProblemZitat von m.a.r.v.i.n
Die letzten Zeilen von Init() setzen ja autoencode auf FALSE ...
Code:... MotorSpeed(0,0); autoencode = FALSE; sei(); }Danke für diese Hinweise.Es gibt Probleme, wenn die Rad Encoder im Interrupt Betrieb laufen. Das kann dann A/D Wandler Messungen stören, die in der Hauptschleife aufgerufen werden.
Das steht auch schon auf der Bugliste. In der LineData Funktion ist es z.B. schon gefixed, in der Batterie Funktion noch nicht.
Werden die neuen Versionen der Lib bzw. Hinweise darauf hier im Asuro-Forum gepostet?
Hi,
das stimmt, aber der Aufruf der Funktionen EncoderInit() oder EncoderStart() setzt autoencode auf TRUE.Die letzten Zeilen von Init() setzen ja autoencode auf FALSE ...
Die AsuroLib V2.70rc2 wird heute noch veröffentlicht (mit Bugliste, erweiterter Doku).
Hi,
ich habe die rechte BackLED meines Asuro's mit einem Multifunktionsmeßgerät und der Einstellung "--|>+--" getestet -- und sie hat geleuchtet! Dann habe ich die Leiterbahnen durchgemessen, und da gab es keine Verbindung, wo Kontakt sein sollte.
Auflösung:
R21 direkt vor der rechten BackLED war wohl durch häufiges wechseln des Batteriepacks in Mitleidenschaft gezogen worden, und die beiden zu R21 gehörenden Lötpunkte auf der Unterseite der Platine hatten keine Verbindung ... .
Zuerst half einfaches Wackeln am Widerstand, und dann ging die rechte BackLED wieder; später habe ich die Lötstelle aber dann auch noch richtig nachgelötet.
Und das schönste: nachdem die rechte BackLED wieder funktioniert, ist die StatusLED wieder voll funktionsfähig (inkl. RED und YELLOW)!
Bleibt nur noch das Problem mit der Funktion Batterie() und den Werten <255 anstelle >800 ...
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
Lesezeichen