PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme beim programmieren von ASURO



murdocg
10.10.2008, 15:59
Hi hab meine Achsen endlich richtig fest alles feritg.
Jetzt meine Frage wenn ich im Notepad++ ein Programm schreibe,
und es dann als test.hex abspeichere sagt er beim Flashen es sei das falsche Format.? Ich glaub das heißt kompilieren aber wie geth das?

mfg murdocg
----------------------------
Website:murdocg.cwc.tc
=P~

hai1991
10.10.2008, 18:06
hallo murdocg

wenn du nach der anleitung vorgegangen bist und den make-befehl eingerichtet hast kannst du ganz einfach unter Tools-make das aktuell geöffnete programm kompilierne (in eine .hex datei umwandeln)

murdocg
10.10.2008, 18:11
Ok ich arbeite nochmal die Anleitung durch O:)
Wenn dann nicht funktioniert meld ich mich nochmal.
mfg murdocg

murdocg
11.10.2008, 09:55
Ok.
Ich hab was programmiert.

Dann im Ordner asuro.src gespeichert und anschliessend den make befehl ausgeführt. Er führt das zwar aus gibt aber immer ne Fehlermeldung aus.Und im asuro.src sind dann keine neuen dateien(temps und die .hex)

mfg murdocg

hai1991
11.10.2008, 14:00
könntest du die fehlermeldung vl posten
dann können wir schauen was nicht passt

murdocg
11.10.2008, 20:54
Das war auf nem andren Rechner in den nächsten Tagen guck ich mal nach.

mfg murdocg

murdocg
15.10.2008, 08:39
Also wenn ich den makebefehl ausführe, erscheint ja unten ein kleine Fenster, in welchem dann der Bericht erscheint. Dieser ist wie folgt:


C:\ASURO_src\FirstTry>make all
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
[ -s test.d ] || rm -f test.d
test.c:1:10: #include expects "FILENAME" or <FILENAME>
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 3.3.1
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
test.c:1:10: #include expects "FILENAME" or <FILENAME>
test.c: In function `main':
test.c:3: warning: implicit declaration of function `Init'
test.c:4: error: parse error before "MotorDir"
test.c:5: warning: implicit declaration of function `MotorSpeed'
test.c:6: warning: implicit declaration of function `StatusLED'
test.c:6: error: `GREEN' undeclared (first use in this function)
test.c:6: error: (Each undeclared identifier is reported only once
test.c:6: error: for each function it appears in.)
test.c:7: warning: implicit declaration of function `PollSwitch'
test.c:8: warning: implicit declaration of function `SerWrite'
test.c:8: error: stray '\223' in program
test.c:8: error: `Alles' undeclared (first use in this function)
test.c:8: error: parse error before "OK"
test.c:8: error: stray '\' in program
test.c:8: error: stray '\224' in program
test.c:11: error: `RED' undeclared (first use in this function)
test.c:13: error: stray '\223' in program
test.c:13: error: `Aua' undeclared (first use in this function)
test.c:13: error: parse error before '!' token
test.c:13: error: stray '\' in program
test.c:13: error: stray '\224' in program
test.c:15:2: warning: no newline at end of file
make: *** [test.o] Error 1

> Process Exit Code: 2


mfg murdocg

murdocg
15.10.2008, 08:40
Das Programm ist dieses, es ist aus der Anleitung kopiert:


#include “asuro.h”
int main(void) {
Init ()
MotorDir(FWD,FWD); // Beide Motoren auf vorwärts
MotorSpeed(120,120); // Beide Motoren etwa halbe Kraft voraus
StatusLED(GREEN); // Status-Leuchtdiode auf grün schalten
while (PollSwitch()==0) { // Solange keine Kollision erfolgte...
SerWrite(“Alles OK!\n”,10); // ... Euphorie verbreiten
}
MotorSpeed(0,0); // Kollision! Sofort anhalten!
StatusLED(RED); // Statusleuchtdiode rot schalten
while (1) {
SerWrite(“Aua!\n”,5); // und weinen!
}
}

mfg murdocg

hai1991
15.10.2008, 13:23
ein ähnliches problem hatte ich auch, wenn man aus der anleitung einen code kopiert, werden die anführungszeichen " nicht richtig übernommen

ersetzte einmal alle “ durch ". dann müsste es eigentlich funktioniern


so, und noch kurz eine erklärung:
test.c:3: warning: implicit declaration of function `Init'
test.c:4: error: parse error before "MotorDir"


ach so, mir ist gerade noch aufgefallen, dass bei dir nach Init() noch ein ; fehlt

aber dann sollte es funktioniern

wenn die " bein include nicht richtig sind, kann die datei asuro.h nicht eingefügt werden.
dh, dass der compiler alle funkionen, die in asuro.h definiert sind nicht erkennt. daher zb die meldung

murdocg
15.10.2008, 15:44
Ok vielen dank ich probiers nochmal. Hoffe das es dann funktioniert.
Noch ne Frage beim flashen erscheint im Flashtool manchmal beim flashen, ein "t" vor "flashed!" (komplizierter Satz :cheesy: )

damaltor
15.10.2008, 16:25
rtfm...

t heisst timeout. kann man ignorieren, es bedeutet nur dass die verbindung abgerissen ist. es wird aber gleich ein neuer versuch gestartet. nach 10 "t" in einer zeile bricht das flashen ab.

murdocg
15.10.2008, 16:29
1. Ok vielen Dank geb mich gleich ans proggen.
2. Was heißt rtfm?
VIELEN DANK!!!

mfg murdocg

radbruch
15.10.2008, 17:31
rtfm = read the f**king manual (lies das verfluchtete Handbuch!)

Das bedeutet: Mach dich erst selbst schlau und lies die mitgelieferte Dokumentation bevor du vollkommen überflüssige Fragen stellst.

Sternthaler
15.10.2008, 23:00
Hmmm,
die Frage, was rtfm heißt hätte ich auch gestellt ;-).

Gruß Sternthaler