Archiv verlassen und diese Seite im Standarddesign anzeigen : Mein Asuro
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, 19: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
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 (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
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.
Martinius11
28.11.2010, 13:38
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
radbruch
30.11.2010, 18:42
Du versuchst eine Datei zu flashen deren Dateiname nicht mit .hex endet.
doch sie endet ja mit .hex aber es geht trotzdem nicht
radbruch
30.11.2010, 19: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]
Hallo,
habe ich fast selbst geschrieben.
Den self-test konnte ich ja auch erfolgreich flashen.
radbruch
30.11.2010, 19: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
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, 19: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)
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, 20: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
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
radbruch
01.12.2010, 18: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, 18: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
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, 18:58
habs jetzt geändert und er zeit immer noch die selben fehler an.Gespeichert nach der Änderung?
jaaaaaaa. man du bist super. ich habs voll vergessen:) danke hab jetzt die hex datei^^
radbruch
01.12.2010, 19:04
Na dann: Glückwunsch :)
soll ich ein video posten?
hier der link:
http://www.youtube.com/watch?v=zd9ZMY6yGzo
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.