Forum: Compiler & IDEs Wie bei arduino nano F_CPU einstellen?


von Karl (Gast)


Lesenswert?

Hallo,

ich habe mehrere Arduino nano im Einsatz und die gehen auch alle ohne 
Probleme.
Aber nun habe ich eine Platine bekommen wo im Grunde der arduino nano 
drauf ist, aber die einen 8MHz anstatt dem 16MHZ Quarz drauf haben.
Somit sind alle Timings daneben!

Ich habe erst nicht schlecht gestaunt weil meine Serialschnittstelle nur 
Müll ausgegeben hat. Dache schon ich hätte mist gebaut, aber als ich den 
Quarz gesehen habe war mit klar das hier falsch ist. Ist halt ungewohnt 
wenn man 9600 einstellt und 4800 raus kommt.

Also wir kann man die Frequenz bei arduino einstellen?

von 900ss (900ss)


Lesenswert?

Ich meine in der IDE kann man beim Nano auch die Frequenz 16 oder 8MHz 
wählen.
Da wo du den Nano auswählst "in der Gegend" ungefähr.

: Bearbeitet durch User
von Karl (Gast)


Lesenswert?

Danke, dann werde ich nachher mal auf die suche gehen.

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

Karl schrieb:
> Also wir kann man die Frequenz bei arduino einstellen?

in der boards.txt erweitern

mach dir deinen eigenen nano mit deiner F_CPU

##############################################################

nano.name=Arduino Nano

nano.upload.tool=avrdude
nano.upload.protocol=arduino

nano.bootloader.tool=avrdude
nano.bootloader.unlock_bits=0x3F
nano.bootloader.lock_bits=0x0F

nano.build.f_cpu=16000000L
nano.build.board=AVR_NANO
nano.build.core=arduino
nano.build.variant=eightanaloginputs

## Arduino Nano w/ ATmega328P (new boot full mem low upload)
## --------------------------
nano.menu.cpu.atmega328fullmemlowup=ATmega328P (New Boot Full Mem Low 
Upload)

nano.menu.cpu.atmega328fullmemlowup.upload.maximum_size=32256
nano.menu.cpu.atmega328fullmemlowup.upload.maximum_data_size=2048
nano.menu.cpu.atmega328fullmemlowup.upload.speed=57600

nano.menu.cpu.atmega328fullmemlowup.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328fullmemlowup.bootloader.high_fuses=0xDE
nano.menu.cpu.atmega328fullmemlowup.bootloader.extended_fuses=0xFD
nano.menu.cpu.atmega328fullmemlowup.bootloader.file=optiboot/optiboot_at 
mega328.hex

nano.menu.cpu.atmega328fullmemlowup.build.mcu=atmega328p

## Arduino Nano w/ ATmega328P (new bootloader full mem)
## --------------------------
nano.menu.cpu.atmega328fullmem=ATmega328P (New Bootloader Full Mem)

nano.menu.cpu.atmega328fullmem.upload.maximum_size=32256
nano.menu.cpu.atmega328fullmem.upload.maximum_data_size=2048
nano.menu.cpu.atmega328fullmem.upload.speed=115200

nano.menu.cpu.atmega328fullmem.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328fullmem.bootloader.high_fuses=0xDE
nano.menu.cpu.atmega328fullmem.bootloader.extended_fuses=0xFD
nano.menu.cpu.atmega328fullmem.bootloader.file=optiboot/optiboot_atmega3 
28.hex

nano.menu.cpu.atmega328fullmem.build.mcu=atmega328p

## Arduino Nano w/ ATmega328P (new bootloader old mem)
## --------------------------
nano.menu.cpu.atmega328=ATmega328P (New Bootloader Old Mem)

nano.menu.cpu.atmega328.upload.maximum_size=30720
nano.menu.cpu.atmega328.upload.maximum_data_size=2048
nano.menu.cpu.atmega328.upload.speed=115200

nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA
nano.menu.cpu.atmega328.bootloader.extended_fuses=0xFD
nano.menu.cpu.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex

nano.menu.cpu.atmega328.build.mcu=atmega328p

## Arduino Nano w/ ATmega328P (old bootloader low mem)
## --------------------------
nano.menu.cpu.atmega328old=ATmega328P (Old Bootloader Low Mem)

nano.menu.cpu.atmega328old.upload.maximum_size=30720
nano.menu.cpu.atmega328old.upload.maximum_data_size=2048
nano.menu.cpu.atmega328old.upload.speed=57600

nano.menu.cpu.atmega328old.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328old.bootloader.high_fuses=0xDA
nano.menu.cpu.atmega328old.bootloader.extended_fuses=0xFD
nano.menu.cpu.atmega328old.bootloader.file=atmega/ATmegaBOOT_168_atmega3 
28.hex

nano.menu.cpu.atmega328old.build.mcu=atmega328p


## Arduino Nano w/ ATmega168
## -------------------------
nano.menu.cpu.atmega168=ATmega168

nano.menu.cpu.atmega168.upload.maximum_size=14336
nano.menu.cpu.atmega168.upload.maximum_data_size=1024
nano.menu.cpu.atmega168.upload.speed=19200

nano.menu.cpu.atmega168.bootloader.low_fuses=0xff
nano.menu.cpu.atmega168.bootloader.high_fuses=0xdd
nano.menu.cpu.atmega168.bootloader.extended_fuses=0xF8
nano.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila. 
hex

nano.menu.cpu.atmega168.build.mcu=atmega168

##############################################################

: Bearbeitet durch User
von Karl (Gast)


Lesenswert?

Die boards.txt war dann die richtige Antwort.
Ich habe mir die NANO Einstellungen kopiert und auf was anders 
umbenannt.
Jetzt geht alles sauber mit 8MHz.

Danke.

von Joachim B. (jar)


Lesenswert?

Karl schrieb:
> Ich habe mir die NANO Einstellungen kopiert

kopieren reicht aber nicht es muss auch angepasst werden:

Joachim B. schrieb:
> nano.build.f_cpu=16000000L

auf deine 8 MHz, sonst weiss es die Arduino IDE ja nicht, bzw. der GCC

von Einer K. (Gast)


Lesenswert?

Karl schrieb:
> Die boards.txt war dann die richtige Antwort.

Nicht wirklich!
Denn es ist nicht nötig die mitgelieferten Dateien zu modifizieren.

Man kann neben die originale boards.txt eine eigene boards.local.txt 
legen.
Einträge in der boards.local.txt überschreiben Einträgen in boards.txt

Eigene boards.local.txt oder platform.local.txt Dateien erleichtern die 
Mitnahme/Weitergabe, oder Wiederanpassung, nach Updates.

von Joachim B. (jar)


Lesenswert?

Arduino Fanboy D. schrieb:
> Man kann neben die originale boards.txt eine eigene boards.local.txt
> legen.

gut zu wissen! Danke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.