Hallo,
Heute ist mein Asuro angekommen und ich und mein Kumpel haben ihn gleich zusammengebaut :)
Jetzt zwei Fragen:
Wie übertrage ich die Programmierung auf den Asuro? und
Was für gute Seiten/Bücher gibt es zum Programmieren lernen?
LG
Druckbare Version
Hallo,
Heute ist mein Asuro angekommen und ich und mein Kumpel haben ihn gleich zusammengebaut :)
Jetzt zwei Fragen:
Wie übertrage ich die Programmierung auf den Asuro? und
Was für gute Seiten/Bücher gibt es zum Programmieren lernen?
LG
Also da ist ja eine Anleitung auf der CD oder bzw. auf der Arexx Seite
und wenn du c Lernen wilst empfehle ich http://www.mikrocontroller.net/artic...R-GCC-Tutorial
Hallo,
mein notebook hat kein hyperterminal. Habe mir dieses deshlab aus dem internet runtergeladen hab aber keine ahnung wie das geht und bekomme auch keine verbindung hin :( bitte helft mir!
Probiers Mal mit Br@y Terminal (gibt es hier)
Die Einstellungen bleiben wie gehabt (2400 Baud, 8 Datenbits und ein Stoppbit, keine Parität. Damit alles funktioniert musst du außerdem (beim seriell-IR Transceiver) noch DTR und RTS (durch anklicken) aktivieren. Beim USB-IR Transceiver sollte das nicht nötig sein.
mfG
Markus
Wenn ich was schreibe blinkt die led beim transceiver, aber wo steht das was er zurück sendet?
in dem großen weißen feld? weil da kommt nix an:(
Ok, nur um die Informationen die du uns nicht mitgeteilt hast zu dokumentieren: Du verwendest den USB-Transceiver
So, nächster Punkt: Was soll er denn zurücksenden? Was hast du programmiert (Quellcode!) und geflashed?
Beim Selbsttest sollte der ASURO vor jedem Einzeltest eine Nachricht senden, wenn du diese nicht empfängst, stimmt etwas nicht. Ist die Konfiguration der Schnittstelle (2400 Baud 8 Bit kein Stoppbit) korrekt?
mfG
Markus
PS: Ja, das erste Feld (in dem du nicht schreiben kannst), enthält die empfangenen Zeichen.
Beim Usb-transiver funkt das nicht nur beim seriellen
`hallo,
hat mit dem hyperterminal von Br@y geklappt wurde auch was gesendet. Danke! Jetzt muss ich erstmal bisschen C lernen :) aber versteh das irgendwie nicht so ganz
Ich schaffe es im moment nicht ein programm zum asuro zu schicken.
es steht beim flash programm immer: wrong file format!
Was ist mein fehler?
LG
Du versuchst eine Datei zu flashen deren Dateiname nicht mit .hex endet.
doch sie endet ja mit .hex aber es geht trotzdem nicht
Naja, es ist wohl auch schwierig mit dem Flashtool eine andere Datei auszuwählen.
Woher stammt die .hex-Datei? Selbst kompiliert oder irgendwo gefunden? Du könnest die Datei als Attachment an einen Beitrag anhängen und uns zeigen. Kannst du von Henks Beispielen etwas flashen?
http://home.kpn.nl/h.van.winkoop/Asu...uSfwPagFrm.htm
[Edit: URL von Henks HP angepasst]
Hallo,
habe ich fast selbst geschrieben.
Den self-test konnte ich ja auch erfolgreich flashen.
Aber hallo! Einfach umbenennen gilt natürlich nicht:
So können es wir zwar lesen, der Mega8 (und auch das Flashtool) können damit aber nichts anfangen. Das Programm muss erst kompiliert werden.Code:#include "asuro.h"
int main(void) {
unsigned int data[2];
Init();
FrontLED(ON)
MotorDir(FWD,FWD);
MotorSpeed(255,255);
while(1) {
LineData(data)
if ((data [0] < 20) && (data [1] > 20 ))
{
MotorDir(RWD,FWD);
MotorSpeed(0,255);
BackLED(OFF,ON);
StatusLED(RED);
}
if ((data [1] < 20) && (data [0] > 20 ))
{
MotorDir(FWD,RWD);
MotorSpeed(255,0);
BackLED(ON,OFF);
StatusLED(RED);
}
if ((data [1] < 20) && (data [0] < 20))
{
MotorDir(FWD,FWD);
MotorSpeed(255,255);
BackLED(ON,ON);
StatusLED(GREEN);
}
}
return 0;
}
Schau mal in der Anleitung Kapitel 8 (ab Seite 35)
Gruß
mic
hääte ja klappen können ;)
aber ich habe das make tool ja benutzt aber es ist keine .hex datei entstanden?
Wenn beim Kompilieren (mit make) kein Fehler gemeldet wird und trotzdem keine Hex-Datei erzeugt wird, hast du vielleicht vergessen, das C-Programm zu Speichern bevor du make verwendest.
Fehlerfrei Kompilieren kann nicht sein, bei FrontLED(ON) fehlt das ;
Dasselbe fehlt hier:Code:Init();
FrontLED(ON) // hier fehlt das ;
MotorDir(FWD,FWD);
LineData(data)
speichern?
ohh das habe ich in der tat vergessen steht aber auch nicht in der anleitung :(
aber wenn ich das jetzt öffne warum kann ich da keine tools benutzen?
sry bin neu auf dem gebiet :)
Endet die Datei wieder mit .c? Hast du das Makefile angepasst? Hier kann ich leider nicht weiterhelfen, weil ich das Notepad nicht verwende.
Waren wir alle mal ;)Zitat:
bin neu auf dem gebiet
Gruß
mic
ich müsste sie jetzt ummbenennen damit sie mit .c endet
so jetzt heißt sie .c kann auch das makefile enutzen es entsteht aber keine HEX-Datei
es entsteht immer die test.hex datei.
aber nicht die die ich gerade geöffnet habe
so habe in die makefile mal statt test linienfolgen2 hingschrieben (so heißt das programm)
ich schreibe mal das programm:
#include "asuro.h"
int main(void) {
unsigned int data[2];
Init();
FrontLED(ON)
MotorDir(FWD,FWD);
MotorSpeed(255,255);
while(1) {
LineData(data)
if ((data [0] < 20) && (data [1] > 20 ))
{
MotorDir(RWD,FWD);
MotorSpeed(0,255);
BackLED(OFF,ON);
StatusLED(RED);
}
if ((data [1] < 20) && (data [0] > 20 ))
{
MotorDir(FWD,RWD);
MotorSpeed(255,0);
BackLED(ON,OFF);
StatusLED(RED);
}
if ((data [1] < 20) && (data [0] < 20))
{
MotorDir(FWD,FWD);
MotorSpeed(255,255);
BackLED(ON,ON);
StatusLED(GREEN);
}
}
return 0;
}
Und die neuen fehlermeldungen:
C:\Users\Daniel\Desktop\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=linienfolgen2.lst linienfolgen2.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > linienfolgen2.d; \
[ -s linienfolgen2.d ] || rm -f linienfolgen2.d
-------- 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=linienfolgen2.lst linienfolgen2.c -o linienfolgen2.o
linienfolgen2.c: In function `main':
linienfolgen2.c:7: error: parse error before "MotorDir"
linienfolgen2.c:11: error: parse error before "if"
linienfolgen2.c: At top level:
linienfolgen2.c:33: error: parse error before "return"
linienfolgen2.c:34:2: warning: no newline at end of file
make: *** [linienfolgen2.o] Error 1
> Process Exit Code: 2
> Time Taken: 00:01
Hallo
Wie weiter oben schon geschrieben fehlt hinter FrontLED(ON) und LineData(data) jeweils das Semikolon. Das verursacht diese beiden Fehler:
linienfolgen2.c:7: error: parse error before "MotorDir"
linienfolgen2.c:11: error: parse error before "if"
Bei den anderen beiden Fehlern kann ich nur raten:
linienfolgen2.c:33: error: parse error before "return"
Löst sich möglicherweise mit den Semikolons
linienfolgen2.c:34:2: warning: no newline at end of file
Am Ende des Programms nochmal auf [Enter]drücken und damit eine Leerzeile anfügen.
Super, du hast den Kompiler scheinbar erfolgreich eingebunden :)
Bitte Code-Tags verwenden.
Gruß
mic
Bitte wenn du das nächste mal ein Programm nicht funkt schau es dir nochmal an bevor du was schreibst es fehlen einfach ein paar ";"
die müssen nach jeder Funktion, Registeränderung und Rechnung stehn.
Ausserdem weißt ja der Complierer auf die Fehler hin
habs jetzt geändert und er zeit immer noch die selben fehler an. :O
ist vielleicht mein make fehlerhaft?
ich habe die test-all.bat datei angegeben und den ordner( first try)
ist das falsch?
Gespeichert nach der Änderung?Zitat:
habs jetzt geändert und er zeit immer noch die selben fehler an.
jaaaaaaa. man du bist super. ich habs voll vergessen:) danke hab jetzt die hex datei^^
Na dann: Glückwunsch :)
soll ich ein video posten?
hier der link:
http://www.youtube.com/watch?v=zd9ZMY6yGzo