PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mein Asuro



Daniong
27.11.2010, 18:15
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

Martinius11
27.11.2010, 18:43
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/articles/AVR-GCC-Tutorial

Daniong
28.11.2010, 11:05
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!

markusj
28.11.2010, 11:51
Probiers Mal mit Br@y Terminal (gibt es hier (https://sites.google.com/site/terminalbpp/))

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

Daniong
28.11.2010, 12:00
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:(

markusj
28.11.2010, 12:32
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.

Martinius11
28.11.2010, 12:38
Beim Usb-transiver funkt das nicht nur beim seriellen

Daniong
29.11.2010, 19:14
`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

Daniong
30.11.2010, 15:58
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

radbruch
30.11.2010, 17:42
Du versuchst eine Datei zu flashen deren Dateiname nicht mit .hex endet.

Daniong
30.11.2010, 18:01
doch sie endet ja mit .hex aber es geht trotzdem nicht

radbruch
30.11.2010, 18:13
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/Asuro/Software/AsuSfwPagFrm.htm

[Edit: URL von Henks HP angepasst]

Daniong
30.11.2010, 18:23
Hallo,

habe ich fast selbst geschrieben.
Den self-test konnte ich ja auch erfolgreich flashen.

radbruch
30.11.2010, 18:30
Aber hallo! Einfach umbenennen gilt natürlich nicht:


#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;
}

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.

Schau mal in der Anleitung Kapitel 8 (ab Seite 35)

Gruß

mic

Daniong
30.11.2010, 18:36
hääte ja klappen können ;)
aber ich habe das make tool ja benutzt aber es ist keine .hex datei entstanden?

radbruch
30.11.2010, 18:42
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 ;


Init();
FrontLED(ON) // hier fehlt das ;
MotorDir(FWD,FWD);


Dasselbe fehlt hier:

LineData(data)

Daniong
30.11.2010, 18:48
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 :)

radbruch
30.11.2010, 19:14
Endet die Datei wieder mit .c? Hast du das Makefile angepasst? Hier kann ich leider nicht weiterhelfen, weil ich das Notepad nicht verwende.


bin neu auf dem gebietWaren wir alle mal ;)

Gruß

mic

Daniong
30.11.2010, 19:21
ich müsste sie jetzt ummbenennen damit sie mit .c endet

Daniong
30.11.2010, 19:28
so jetzt heißt sie .c kann auch das makefile enutzen es entsteht aber keine HEX-Datei

Daniong
30.11.2010, 19:47
es entsteht immer die test.hex datei.
aber nicht die die ich gerade geöffnet habe

Daniong
01.12.2010, 17:32
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

radbruch
01.12.2010, 17:42
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

Martinius11
01.12.2010, 17:43
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

Daniong
01.12.2010, 17:52
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?

radbruch
01.12.2010, 17:58
habs jetzt geändert und er zeit immer noch die selben fehler an.Gespeichert nach der Änderung?

Daniong
01.12.2010, 18:02
jaaaaaaa. man du bist super. ich habs voll vergessen:) danke hab jetzt die hex datei^^

radbruch
01.12.2010, 18:04
Na dann: Glückwunsch :)

Daniong
01.12.2010, 18:13
soll ich ein video posten?

Daniong
01.12.2010, 18:33
hier der link:

http://www.youtube.com/watch?v=zd9ZMY6yGzo