PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim Programmieren



Chrise
23.10.2007, 19:39
Hallo!!!

Ich bin neu hier und hab auch gleich meine erste frage zum asuro. Für manchen von euch ist das vielleicht selbstverständlich, nur mich leider nicht.

Wir haben in der Schule von einem Lehrer einen Asuro in die Hand gedrückt bekommen und der hat gesagt wir sollen uns für den Tag der offenen Tür ein tolles Projekt damit einfallen lassen.

Die letzten Tage hab ich mich damit rumgeschlagen das ich eine Verbindung zum asuro bekomm und damit auch flashen kann. Nachdem das jetzt funktioniert, wollte ich mal einfache Programme bei denen nur die LED's leuchten sollen, schreiben. Ich hab das Programm genau wie in der Docu geschrieben, also das die StatusLED rot leuchten soll.

Wenn ich das dann flashe leuchten alle roten LED's auf.
Wenn ich jetzt allerdings sage das die StautsLED gelb leuchten soll (StautsLED(YELLOW)) passiert schon nichts mehr.

Kann das sein das die Vorgänger welchen den Roboter hatten da irgendetwas verstellt haben?

Mfg
Chrise[/code]

damaltor
23.10.2007, 20:41
hmm eigentlich vermutlich nicht. aber poste doch mal deinen programmcode, evtl können wir dir helfen.

benutze dazu dei code-tags, um deinen post nicht unübersichtlich zu machen =)

Chrise
23.10.2007, 21:00
so... hier mal der Programm Code.... aber bei dem programm kann man doch nichts falsch machen oder?

#include "asuro.h"
int main(void)
{
Init();
StatusLED(YELLOW);
while(1);
return 0;
}

edit: Ist es eigentlich normal, das ein programm mit mehr als 10 zeilen in der hex file gleich groß ist wie eines mit 4 oder fünf zeilen?

damaltor
23.10.2007, 21:46
der programmcode scheint ok zu sein. ersetze mal YELLOW durch GREEN und teste dann mal.

die programme sind nicht wirklich gleich groß:
der größte teil des programmes wird durch die asuro.c gebildet, welche immer mit compiliert wird. da machen 3-4 zeilen unterschied nichts aus... =)

Sternthaler
23.10.2007, 22:14
Hallo Chrise,
willkommen im Forum.

Du schreibst, dass bei deinem Versuch die Status-LED gelb leuchten zu lassen nichts mehr passiert.
Irgendwas muss aber immer passieren.
Nach dem einschalten vom Asuro geht ja erst mal die Status LED auf gelb. In dieser Zeit wartet der Asuro auf eine Verbindung zum Flashen.
Wenn da nichts kommt, dann wird dein Programm aufgerufen.
Hier machst du auch schön das Init(). In dieser Funktion wird die Status-LED auf grün gesetzt.
Nun möchtest du wieder auf gelb schalten.

Die Zeit beim Umschalten von gelb (einschalten) über grün (Init) zu deinem Befehl gelb (StatusLED(YELLOW)) reicht nicht, um das grün zu sehen.
Somit müsste deine Status-LED einfach gelb bleiben.

Was passiert bei dir genau?

Gruß Sternthaler

Weiti
30.10.2007, 21:01
ich habe genau das gleiche problem, wenn ich diesen quelltext einfüge!
edit:
BackLED (OFF, ON); geht aber!

damaltor
31.10.2007, 03:22
poste bitte deinen gesamten code, und beschreibe genau was passiert.

Weiti
31.10.2007, 08:47
identischer quelltext wie chrise. roboter bootet, statuslED leuchtet grün, was er ja immer tut, auch wenn StatusLED(YELLOW); nicht kommt.
Sprich: er ignoriert den befehl.
Allerdings nimmt er MANCHMAL!! den befehl StatusLED(RED); an

damaltor
31.10.2007, 13:03
oh oh.. manchmal ist ganz schlecht, in der elektronik gibts eigentlich nur ganz oder gar nicht. es könnte sein dass der prozessor kaputt ist, aber die chance ist recht klein. trotzdem empfehle ich euch, mal eine email an info@arexx.nl zu schicken, der (englische) support ist sehr nett und sendet euch evtl einen neuen.