Hallo,
wenn du dein Programm posest geht es evtl einfacher herauszufinden was los ist.
Möglichkeit A) Schriebfehler oder Denkfehler im Programm
Möglichkeit B) Fehler am ASURO Selbst.
Martin
Hallo ASURO-Fans,
ich habe das erste eigene Programm nach Anleitung (Kap. 8.5) geschrieben und erfolgreich geflasht. Aber ASURO reagiert sehr eigenwillig. Statt rot leuchtet die Status-LED grün und der linke Motor lässt ASURO im Kreis fahren!
Was habe ich falsch gemacht, was muss ich ändern?
Hallo,
wenn du dein Programm posest geht es evtl einfacher herauszufinden was los ist.
Möglichkeit A) Schriebfehler oder Denkfehler im Programm
Möglichkeit B) Fehler am ASURO Selbst.
Martin
Also, da die LED grün leuchtet, wird wohl der ASURO hinüber sein, oder du hast den MC falsch eingesteckt. Ich halte nicht viel vom ASURO, da er nur auf billig ausgelegt ist. Bei mir funktionieren die Taster gar nicht mehr.
o
L_
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat!
http://de.youtube.com/watch?v=qV1cZ6jUeGE
Hallo MSSputnik,
besten Dank für die Hinweise. Beim Testlauf funktionieren alle Funktionen bis auf die Taster. Deshalb glaube ich, dass der Asuro ok ist, ich aber irgendwelche Parameter verändern muss. Fragt sich nur, wie und welche?
Ja, und diese frage nach welchen, können wir leider nicht erraten. Poste dohc mal bitte dein Programm, da wir ja nicht raten können, was du geschrieben hast.
Andun
www.subms.de
Aktuell: Flaschcraft Funkboard - Informationssammlung
Hallo,
steht in Kapitel 8.5 der Anweisung und lautet:
#include "asuro.h"
int main(void) {
Init();
StatusLED(RED);
while(1);
return 0;
}
Ich habe dafür das vorgegebene test-Programm aus FirstTry verwendet und entsprechend geändert (alles nach Anweisung).
Noch ein Hinweis zur Funktion der Taster beim SelfTest: Es leuchten zwar die richtigen LEDs auf, aber bei einigen läuft gleichzeitig ein Motor. In der Beschreibung steht, dass man das softwaremäßig beheben kann. Wie?
Hallo Nobbi,
Eventuell hast du beim Zusammenlöten 2 Pins am IC1 gebrückt. Nochmal kontrollieren.
Beim Selbsttest kann es vorkommen das beim Drücken von K1 oder K2 auch K6 erkannt wird, und der linke Motor mitläuft.
Wie dass softwaremäßig behoben werden kann, findest du hier
Gruß Peter
Hallo Peter,
besten Dank für deine Tipps. Nochmal die Ausgangslage: Beim Selbsttest ist alles ok bis auf die Taster K1 und K2. Bei Betätigen von K1 leuchtet die StatusLED grün (wie vorgesehen) und zusätzlich die rechte Back-LED. Bei K2 leuchtet die StatusLED rot (wie vorgesehen) und der linke Motor.
Der obere Link besagt, dass man folgende Programmzeile ändern soll:
"return ((unsigned char) ((( 1024.0/(float)i - 1.0)) * 63.0 + 0.5));"
Ich bin leider Anfänger und nicht sicher, ob ich alle Schritte richtig gemacht habe. Hier meine Vorgehensweise:
Die Programmzeile, die man ändern soll, habe ich in asuro.c gefunden.
Also asuro.c auf notepad geladen, clean betätigt, Wert 63 auf 62 geändert, mit make die hex-Datei erzeugt und gespeichert. Dann selftest.hex zum asuro geflasht. Leider keine Änderung festgestellt.
Gleiches mit 61 und 60 versucht, ebenfalls negativ.
Wahrscheinlich mache ich irgendwas falsch! Was?
Hallo Nobbi,
genaus so gehts.
Der Wert könnte aber auch 64 oder 65 sein. Ist leider bei fast jedem Asuro ein andere Wert.
Hinzu kommt das die Abfrage der Taster im Selbsttest Programm auch nicht 100% funktioniert.
Besser ist folgendes: 2xPollSwitch aufrufen und beide Rückgabewerte vergleichen.
Hier die geänderte Funktion in test.c
Gruß PeterCode:void SwitchTest(void) { unsigned char sw,sw2,tmp; MotorDir(FWD,BREAK); sw = PollSwitch(); sw2 = PollSwitch(); StatusLED(OFF); FrontLED(OFF); BackLED(OFF,OFF); MotorSpeed(0,0); tmp = 0; if (sw && sw2 && sw == sw2) { if (sw & 0x01) MotorSpeed(200,0); if (sw & 0x02) { BackLED(OFF,ON); tmp = 1; } if (sw & 0x04) BackLED(ON,tmp); if (sw & 0x08) FrontLED(ON); if (sw & 0x10) RED_LED_ON; if (sw & 0x20) GREEN_LED_ON; } }
Wofür steht denn tmp?
Tschüß,
Lunarman
o
L_
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat!
http://de.youtube.com/watch?v=qV1cZ6jUeGE
Lesezeichen