PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmega328au mit 20 MHz mit Arduino Programmieren



Projekt 2252
23.08.2014, 13:15
Hallo, ich versuche schon seit mehreren Tagen auf dieses (http://www.anvilex.de/extern/documents/DS_P012_45.pdf) Board die i2c-gps-nav drauf zu spielen.

Das hochladen an sich klappt auch mit einem USBasp programmer aber ich bekomme keine Serielle Verbindung
zum Board hergestellt. Also habe ich ein ganz einfaches Programm (Hello World) geflasht um zu sehen ob ich
die Daten richtig mit meinem PC empfangen kann, es kam aber nur kryptische Zeichen an, obwohl die Baudrate
richtig eingestellt ist. Dann ist mir etwas aufgefallen woran ich vorher gar nicht gedacht habe, bei Arduino
kann man zwar das Pro mini mit dem Atmega 328 auswählen aber das Problem ist der ist auf 16 MHz eingestellt
mein Board hat aber ein 20 MHz Quarz.

Damit ich überhaupt den USBasp programmer nutzen konnte musste ich in der avrdude Datei die Signatur vom
Atmega328p ändern soweit hat auch alles geklappt nur wie bekomme ich die MHz Zahl in der Konfiguration geändert ?

Ich habe schon probiert ein neues Board zu erstellen indem ich in die avrdude Datei das Atmega328 board Kopiert und
umbenannt mit geänderter Signatur wieder eingefügt habe also, dass ich einmal Atmega328 und einmal Atmega328au habe
dann habe ich auch in der Datei Boards.txt folgendes eingefügt:



pro328_20.name=ATmega328au 20 MHz
pro328_20.upload.protocol=stk500 pro328_20.upload.maximum_size=30720 pro328_20.upload.speed=57600
pro328_20.bootloader.low_fuses=0xFF pro328_20.bootloader.high_fuses=0xDA pro328_20.bootloader.extended_fuses=0×05 pro328_20.bootloader.path=atmega pro328_20.bootloader.file=ATmegaBOOT_168_atmega328 _20.hex pro328_20.bootloader.unlock_bits=0x3F pro328_20.bootloader.lock_bits=0x0F
pro328_20.build.mcu=atmega328p pro328_20.build.f_cpu=20000000L pro328_20.build.core=arduino

Jetzt habe ich zwar ein neues Board zur Auswahl aber es kommt beim Verifizieren diese Fehlermeldung:

In file included from sketch_aug23a.ino:1:0:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:245:26: fatal error: pins_arduino.h: No such file or directory
#include "pins_arduino.h"
^
compilation terminated.

Wie füge ich richtig ein neues Board hinzu bzw. wie kann ich das Pro mini in der Konfiguration so ändern das ich mein 20 MHz Board benutzen kann ?

Gruß

Sisor
23.08.2014, 13:55
Eine direkte Antwort auf dein Problem habe ich nicht, aber mir ist ein möglicher Workaround für dein Serial-Problem eingefallen:
Bei einer gewünschten Baudrate von 57600:
Serial.begin(57600*16/20);

Das sollte die durch den 20MHZ-Quarz erhöhte Geschwindigkeit kompensieren.

Besserwessi
23.08.2014, 18:32
Die Baudrate je nach der Taktfrequenz stellt man im Programm ein, also vor dem Compilieren des Programms. Das müsste also im Hallo Word Programm drin stehen. Manchmal wird der µC Takt für den das Programm erzeugt werden soll auch bei den Compiler-optionen gesetzt und ist dann im Programm lesbar, um z.B. die Baudrate richtig zu berechnen.

Der Takt mit dem der µC läuft hängt noch von die Fuses ab - per default ist das nur 1 MHz interner RC-Takt, auch wenn ein 20 MHz Quarz dran hängt. Die Einstellung geht über den Programmer, also etwa den USBasp, aber i.A. getrennt vom Übertragen des Programms.

Projekt 2252
03.09.2014, 19:43
So ich habs jetzt gelöst indem ich in der bestehenden Datei vom Pro mini die MHz zahl auf 20 erhöht habe. Dann ging es mit der Datenübertragung :)
Aber danke für eure Hilfe :)

Gruß