- LiFePO4 Speicher Test         
Ergebnis 1 bis 4 von 4

Thema: Atmega328au mit 20 MHz mit Arduino Programmieren

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.02.2010
    Ort
    Osdorf
    Alter
    29
    Beiträge
    127

    Atmega328au mit 20 MHz mit Arduino Programmieren

    Anzeige

    Praxistest und DIY Projekte
    Hallo, ich versuche schon seit mehreren Tagen auf dieses 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:

    PHP-Code:
       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ß

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    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.

  3. #3
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    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.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.02.2010
    Ort
    Osdorf
    Alter
    29
    Beiträge
    127
    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ß

Ähnliche Themen

  1. Bascom mit Arduino programmieren
    Von willswissen im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 14.04.2014, 12:39
  2. RN-Control V. 1.4 mit Arduino programmieren
    Von bruger im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 6
    Letzter Beitrag: 06.11.2013, 13:11
  3. [ERLEDIGT] Arduino Pro mini 16 Mhz 5v Wie Programmieren ?!
    Von Projekt 2252 im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 1
    Letzter Beitrag: 13.05.2012, 21:47
  4. Arduino Duemillenova mit Eclipse Programmieren
    Von Kucky im Forum Arduino -Plattform
    Antworten: 13
    Letzter Beitrag: 06.10.2010, 22:19
  5. Arduino Duemillenova mit Eclipse Programmieren
    Von Kucky im Forum C - Programmierung (GCC u.a.)
    Antworten: 14
    Letzter Beitrag: 28.08.2010, 16:02

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress