Hallo volpe,
versuch doch mal anstat
Code:StatusLED/RED);mfg woodyCode:StatusLED(RED);
Hallo Axel,
vielleicht kannst Du uns nochmal helfen...
Mit dem Kollisions-Test gibts wieder ein Problem das wir
nicht erkennen können.
Hier das Programm
Die FehlermeldungCode:#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 while (PollSwitch()==0) { //Solange keine Kollision erfolgte... SerWrite("Alles OK!\n",10);//...Euphorie verbreiten } MotorSpeed(0,0); //Kollision! Sofort anhalten! StatusLED/RED) //Status-Leuchtdiode auf rot while(1){ SerWrite("Aua!\n",5); //und weinen! } }
- test.c: In function `main':
test.c:11: error: invalid operands to binary /
test.c:11: error: parse error before ')' token
make: *** [test.o] Fehler 1
Gruss volpe
Hallo volpe,
versuch doch mal anstat
Code:StatusLED/RED);mfg woodyCode:StatusLED(RED);
Hallo woody,
hast recht...mit StatusLED(RED); klappt das make...
Das kommt von dem schnellen abtippen..die Enkel können es nicht erwarten
dass der ASURO nun endlich Aktion zeigt..
mfg volpe
Hallo woody,
wir haben am ASURO ein kleines Problem festgestellt.
Bei dem Test der Sensortaster (K1-K6) ist der K3 offensichtlich defekt.
Conrad will uns den Sensortaster aber austauschen.
Wie sich der Fehler auf andere Programme auswirkt wissen wir noch nicht.
Nun wollten wir den Test.c in ~/ASURO/ASURO_src/SelfTest/ umwandeln.
Dies schlug fehl..
[/code]avr-gcc --version
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 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.
make: *** Keine Regel vorhanden, um das Target »main.hex«,
benötigt von »all«, zu erstellen. Schluss.
Ein Versuch den Test.c nun in ~/ASURO/FirstTry als test.c erstellt
lief auch nicht durch..
Was machen wir hier falsch, wenn man nachträglich Tests laufenCode:peter@KPF:~/ASURO/FirstTry$ make -------- begin -------- avr-gcc --version avr-gcc (GCC) 3.4.3 Copyright (C) 2004 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 -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o --output test.elf -Wl,-Map=test.map,--cref -lm /usr/lib/gcc/avr/3.4.3/../../../../avr/lib/avr4/crtm8.o(.init9+0x0): In function `__bad_interrupt': ../../../crt1/gcrt1.S:104: undefined reference to `main' make: *** [test.elf] Fehler 1
lassen will
mfg volpe
Hallo volpe,
ganz sicher bin ich mir jetzt nicht, aber ich denke dir fehlt in dem Verzeichnis das Makefile.
mfg WoodyCode:make: *** Keine Regel vorhanden, um das Target »main.hex«, benötigt von »all«, zu erstellen. Schluss. Ein Versuch den Test.c nun in ~/ASURO/FirstTry als test.c erstellt lief auch nicht durch..
Hallo volpe,
ich denke in dem File 'test.c' aus dem SelfTest Ordner fehlt einfach nur die main Funktion, die jedes C-Programm braucht. Vergleiche mal mit test.c aus dem FirstTry Ordner.../../../crt1/gcrt1.S:104: undefined reference to `main'
Gruß m.a.r.v.i.n
Hallo zusammen,
makefile und main sind im test.c vorhanden.
Leider ist in der ASURO Beschreibung kein Hinweis zu finden,
wie man die DEMO Files mit FirstTry in test.c starten kann.
Haben nach langem suchen einen Thread gefunden mit einem Link
der dies beschreibt:
Man soll z.B die ...Demo.c und ...Demo.h von /ASURO_src/SelfTest
nach /ASURO/FirstTry kopieren.
Danach in der File test.c nach #include "asuro.h" #incude "...Demo.c"
einfügen. Um die ...Demo function aufzurufen soll in test.c nach
Init(); ...Demo(); noch ergänzt werden.
Da wir Test.c flashen wollen haben wir das versucht.
peter@KPF:~/ASURO/FirstTry$ makeCode:#include "asuro.h" #include "Test.c" int main(void) { Init(); Test(); while(1); return 0; } Nach einem make:
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
[ -s asuro.d ] || rm -f asuro.d
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
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 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: In function `main':
test.c:7: warning: implicit declaration of function `Test'
avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c -o asuro.o
avr-gcc -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o --output test.elf -Wl,-Map=test.map,--cref -lm
test.o(.text+0x38a): In function `main':
/home/peter/ASURO/FirstTry/test.c:7: undefined reference to `Test'
make: *** [test.elf] Fehler 1
Was ist da noch falsch..in der undefined reference für Test
mfg volpe
Hallo,
liegt diese test.c im SelfTest Verzeichnis ?
Ich hab mir diesen Ordner angeschaut und da ist zwar eine test.c drin, aber keine Test() Funktion.....
Und ganz wichtig, include keine *.c Dateien, man includet nur die header *.h und im SelfTest gibt es auch eine test.h ...
Nimm das jetzt nicht persönlich, es wäre aber besser, erstmal die C Grundlagen zu lernen, sonst kommt man nicht weit mit dieser Sprache.
Gruß Sebastian
Linus TorvaldSoftware is like s e x: its better when its free.
Hallo Sebastian,
die File Test.c die wir flashen wollen liegt im ~/ASURO/ASURO_src/SelfTest
bei den noch anderen wie..LineDemo.c ...IRDemo.c ...PCDemo.c usw.
Natürlich sind wir d.h meine 2 Enkel (14-16 J)noch keine C+ Experten..
Das AREX -Mehr Spaß mit ASURO Heft kam gestern ins Haus...und erklärt
viel, aber nicht wie man DEMO Programme mit test.c laufen lassen kann.
p.s ein make mit #include "Test.h" gibt den gleichen Fehler.
Gruß volpe
Hallo volpe,
das File test.c enthält nur die einzelnen Testfunktionen LEDTest, MotorTest usw.Die Funktion Test gibt es nicht, wie die Fehlermeldung schon andeutet.
Statt Test(); einfach die gewünschte Testfunktion(en) einbinden
LEDTest();
MotorTest();
usw.
Schaut euch dazu auch die Funktion SelfTest in SelfTest.c an.
Gruß m.a.r.v.i.n
Lesezeichen