Hallo
Das Programm scheint schon zu stimmen. Init(); setzt die Status-LED auf grün, StatusLED(RED); ändert das dann auf rot und bei while(1); wartet der asuro endlos.
Wenn die LED grün bleibt, könnte das daran liegen, dass die zweifarbige LED falsch herum eingebaut wurde und deshalb rot und grün vertauscht sind. Der Test dafür würde etwa so aussehen:
Code:
#include "asuro.h"
int main(void)
{
Init();
StatusLED(GREEN);
while(1);
return 0;
}
Wenn die Status-LED bei diesem Programm rot leuchtet ist sie vertauscht eingebaut.
Möglicherweise wird auch eine falsche Hex-Datei geflasht. Weitere Möglichkeiten die mir grad so einfallen:
- Bei Notepad2 war das Problem, dass man vor dem Kompilieren den Quellcode speichern muss.
- Sollte der Fehler darin liegen, dass das Programm nicht kompiliert wurde, dann sollte man prüfen, welches Datum die .hex-Datei hat, die man flasht. Oder man löscht die Hex-Datei bevor man kompiliert und prüft, ob eine neue Datei erzeugt wurde.
- Vor dem erneuten Kompilieren kann man noch prüfen, ob das Flashprogramm erkennt, dass die Datei gelöscht ist.
- Man könnte auch bewusst einen Syntaxfehler in den Quellcode einbauen um zu prüfen, ob dieser beim Kompilieren auch wirklich verwendet wird.
Gruß
mic
Lesezeichen