PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RN Control C Demoprogramm kompilieren (avr-gcc)



Linrobot
11.08.2009, 18:56
Hallo !

Ich mache gerade meine ersten Gehversuche mit Mikrocontrollern.

Ich würde gerne das RN-Control Demoprogramm mit avr-gcc (habe gcc version 4.3.3 (GCC) ) kompilieren:

Programm:
http://www.rn-wissen.de/index.php/RN-Control_Demoprogramm_in_C

Ich hab's mit dieser Anleitung:
http://www.rn-wissen.de/index.php/Hallo_Welt_f%C3%BCr_AVR_(LED_blinken)

und diesem Befehl:
avr-gcc rncontrol.c -c -o rncontrol.o -Os -g -mmcu=atmega32

probiert.

Als Ergebnis kommt allerdings nur das hier:
http://pastebin.com/m46b34f88

heraus.

Ist ein Fehler im Programm oder kompiliere ich falsch ?

Danke

Gruß

Linrobot

Linrobot
11.08.2009, 19:02
Ich hoffe, diese Lösung:

http://www.mikrocontroller.net/topic/52857

ist die richtige, bin für weitere Meinungen und Tipps aber gerne offen.

cmock
11.08.2009, 19:30
das ist das eine, ja.

das andere ist, daß du noch ein

-DF_CPU=1000000UL

auf die compiler-commandline schreiben mußt, damit die routinen in util/delay.h die CPU-frequenz kennen. den wert mußt du natürlich auf die frequenz deines controllers anpassen.

Linrobot
11.08.2009, 19:47
Okay. Eben hat er mit diesem Programm nur ganz merkwürdig rumgebrummt, das ich kompiliert hatte.

Was muss ich für 16 MHz (16 MHz Quartz) für einen Wert setzen ?

Wenn ich mit dieser Option kompiliere:

avr-gcc rncontrol.c -c -o rncontrol.o -Os -g -mmcu=atmega32 -std=gnu99 -DF_CPU=16000000UL

und die .hex Datei dann mit avrdude auf das Board kopiere brummt es immer nur noch.

Sind vielleicht die fusebits nicht richtig gesetzt ?

Danke

Gruß

Linrobot

cmock
12.08.2009, 09:01
die 16 000 000 sind schon richtig, eben 16 mio Hz.

die fuses solltest du mit avrdude auslesen können, wenn deine MCU auf 1MHz am internen oszillator läuft, aber das programm für 16MHz kompiliert wurde, könnten die sounds aus dem testprogramm schon etwas nach "brummen" klingen.

Linrobot
12.08.2009, 10:27
Also im Wiki steht ja, man solle das mit Ponyprog s

https://www.roboternetz.de/bilder/bascom/bascomquarz550_f.gif

einstellen. Nur habe ich diese Auswahl im Fusebit A987 irgendwie nicht !?

Linrobot
12.08.2009, 10:44
Ich habe das hier gefunden und jetzt scheint der Quarz zu laufen:

http://home.arcor.de/dirk.milewski/seite81.html

Vielleicht könnte man das im Wiki mal überarbeiten. Vielleicht ist im Wiki eine ältere Bascom Version verwendet worden.