Forum: Compiler & IDEs edam's arduino makefile falsche Baudrate


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Bernd B. (berbog)


Bewertung
-1 lesenswert
nicht lesenswert
Hallo
Beim Programmieren eines Uno mit 328p Prozessor versucht Geany ihn über 
das edam's arduino makefile und avrdude mit 57600 baud zu programmieren.

/usr/bin/avrdude  -DV -p atmega328p -P /dev/ttyUSB0 -c arduino -b 57600 
-U flash:w:Test.hex:i

Gebe ich diese vom Makefile ausgegebene Zeile manuell mit 115200 ein ist 
alles OK.
Weiß jemand wo ich das anpassen kann oder wo die vorgegebene Baudrate 
57600 herkommt ?

Gruss und Danke
Bernd

von Markus F. (mfro)


Bewertung
-1 lesenswert
nicht lesenswert
Nun, wenn make mit diesem Makefile die Baudrate so ausspuckt, dann steht 
die wohl entweder im Makefile oder im make-Aufruf (also irgendwo in 
Geany).

Kann doch nicht so schwer sein?

von Otto Normal (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Die Vorgabe muss das Makefile machen. Dieses besteht allerdings nur aus 
Variablen. Die Vorgabewerte holt es sich wohl aus der avrdude.conf.
Diese ist für mich ähnlich unübersichtlich.
Hier mal der Link zum Makefile.

http://ed.am/dev/make/arduino-mk/arduino.mk

Vieleicht hat jemand ein anderes Makefile

Vielen Dank

von Otto Normal (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Das Problem ist gelöst
Es muss  beim Aufruf anstatt

make -f ../Makefile BOARD=328
make -f ../Makefile BOARD=uno

heißen

und

make -f ../Makefile upload BOARD=328
make -f ../Makefile upload BOARD=uno

heißen
 Gruss Bernd

von Markus F. (mfro)


Bewertung
0 lesenswert
nicht lesenswert
Otto Normal schrieb:
> Diese ist für mich ähnlich unübersichtlich.
> Hier mal der Link zum Makefile.

Kann ich nicht nachvollziehen. Das Makefile ist durchaus sehr 
übersichtlich aufgebaut:
# obtain board parameters from the arduino boards.txt file
BOARDSFILE := $(ARDUINODIR)/hardware/arduino/boards.txt
readboardsparam = $(shell sed -ne "s/$(BOARD).$(1)=\(.*\)/\1/p" $(BOARDSFILE))
...

BOARD_UPLOAD_SPEED := $(call readboardsparam,upload.speed)

Heisst soviel: die Baudrate wird aus einer Datei namens "boards.txt" 
(das ist wohl Bestandteil deiner Arduino-Installation) unter 
"upload.speed" gelesen.

Und wie das richtige Board eingebunden wird, steht auch drin:
#   SOURCES := main.cc other.cc
#   LIBRARIES := EEPROM
#   BOARD := pro5v
#   include ~/src/arduino.mk

Heisst: das Makefile ist nicht zum direkten Ausführen gedacht. Du sollst 
die vier Zeilen oben in dein eigenes einbauen.

von Otto Normal (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das ist schon richtig.
Das Problem ist nur das das edam's Makefile nicht den 328 sondern nur 
den Uno kennt.
Aber vielen Dank
Gruss Otto

von Markus F. (mfro)


Bewertung
0 lesenswert
nicht lesenswert
Otto Normal schrieb:
> Das Problem ist nur das das edam's Makefile nicht den 328 sondern nur
> den Uno kennt.

das Makefile kennt überhaupt nix. Hab' ich doch oben erklärt.
Das wird alles aus dem boards.txt deiner Arduino-Installation geholt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.