PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit AVR Studio 5 und Asuro



Kampi
11.01.2012, 20:32
Hallo,

ich versuche meinen Asuro mittels AVR Studio 5 zu programmieren. Ich hab ein bischen im Internet gegooglet und schon ein paar Hinweise bekommen wie das geht. Ich hab um Solution Editor die Asuro.h und die Asuro.c Datei eingefügt. Aber trotzdem kommt bei einem Testprogramm das hier raus:

http://img441.imageshack.us/img441/1753/unbenanntuby.png (http://imageshack.us/photo/my-images/441/unbenanntuby.png/)

Was ist da falsch dran? :confused:
Danke für die Hilfe!

radbruch
11.01.2012, 20:45
Erste Meldung: In asuro.h wird signal.h verwendet. Das muss man durch interrupt.h ersetzen.
Rest: Deklariert, aber nicht definiert -> asuro.c wird nicht gefunden/eingebunden

Ich kenne AVRStudio nicht, aber ich vermute, die Datei asuro.c wurde nicht zum Projekt hinzugefügt.

Und:

Nach while(1); endet dein Programm beim Semikolon. Richtiger wäre

while(1)
{
// dein Programm
}
return(0);

Oder:

Init();
StatusLED(OFF);
while(1);
return(0);

(return() darf nie erreicht werden!)

[NocheinEdit]
Upps, heißt dein eigenes Programm asuro.c?

Das ist krass, du bist der erste von dem ich das in 5 Jahren gelesen habe. In asuro.h und asuro.c sind die Funktionen für die Library gespeichert. Wenn du asuro.c mit deinem Programm überschreibst wird die Datei zwar gefunden und eingebunden, aber die ursprünglichen Funktionsdefinitionen fehlen natürlich. Da du erst am Anfang stehst würde ich empfehlen das Projekt zu löschen und neu zu beginnen. Zuvor must du allerdings wieder die orginalen Library-Dateien in das Projektverzeichniss kopieren. Bei dieser Gelegenheit könntest du gleich auf v2.3 updaten:
http://sourceforge.net/projects/asuro/files/AsuroLib/

Diese Version bevorzuge ich, weil sind die Grundfunktionen beherrscht und leichter zu durchschauen ist als die aktuelle v2.8

Eine noch nicht häufig verwendete, aber trotzdem durch den Entwickler hier im Forum unterstützte Alternative wäre noch die TinyLIB:
https://www.roboternetz.de/community/threads/49779-Tiny-ASURO-Library-Eine-weitere-Bibliothek-f%C3%BCr-den-ASURO

Kampi
12.01.2012, 17:57
Erstmal danke für deine Antwort. Ich hab sie leider jetzt erst gelesen, weil ich gestern nicht mehr drauf geachtet habe ob hier was geschrieben wurde.
Das erste Programm "Asuro.c" zu nennen war nicht ganz so intelligent :D hab da nicht dran gedacht das es schon ein "Asuro.c" gibt und ich hab recht viele Programme von AVR-Studio und ich hab halt nen Asuro Ordner gemacht und die Datei deswegen so benannt ^.^ aber egal hab jetzt ein neues Projekt mit Namen "Programm.c" gemacht.
Die Asuro-Lib hab ich jetzt noch nicht gedownloadet aber das mache ich sobald das funktioniert wie es soll.
Ich hab jetzt auch mal das Makefile, Asuro.h und Asuro.c in den selben Ordner kopiert wo auch Programm.c liegt und es kommen beim kompilieren trotzdem noch diese Fehler raus:

http://img577.imageshack.us/img577/700/unbenanntatr.png (http://imageshack.us/photo/my-images/577/unbenanntatr.png/)

radbruch
12.01.2012, 18:34
Hallo

Init(); vergessen, StatusLED() kennt OFF, RED, GREEN,und YELLOW. Diese Werte werden ebenso wie ON in asuro.h definiert:

#define OFF 0
#define ON 1

#define GREEN 1
#define RED 2
#define YELLOW 3
Daraus folgt: ON ist GREEN, das wird allerdings schon am Ende von Init() gesetzt.

Wie schon geschrieben kenne ich mich mit dem Studio nicht aus, aber offensichtlich werden die Funktionsdefinitionen immer noch nicht gefunden. Öffne mal die Datei asuro.c um zu prüfen, ob sie wieder den richtigen Inhalt hat. Ansonsten könntest du die Einrichtung des Studios nochmals nach der Anleitung durchführen. Seite 41: "Ein neues PN-Tool mit Namen make ist ab sofort im Tools-Hauptmenü verfügbar. (Wird das Tool aktiviert, so wird eine Batch-Datei mit Namen Test-clean.bat ausgeführt, welche das Programm test.c - zusammen mit asuro.c - compiliert und eine datei text.hex erzeugt)"

Übrigends kannst du die Screenshots echt vergessen, denn da kann man nichts erkennen. Kopiere die Programme als Text und füge sie als Code in deinen Beitrag ein. Dasselbe gilt für die Fehlermeldungen. Wenn du die nicht kopieren kannst, dann beschränke den Bildausschnitt auf die Meldungen, dadurch wird die Auflösung vermutlich besser.

Gruß

mic


(btw.: Das ist mein 5000er :)