AVR Butterfly über serielle Schnittstelle programmieren

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Verbindung

Serielle Verbindung zum AVR Butterfly (Bildquelle: AVR Studio 4 Online-Hilfe)

Test der Verbindung

In der Standardapplikation wird für die "Namenseingabe" 19200,8,n,1 genutzt (keine Flusskontrolle/Flusssteuerung/flow-control).

  1. Serielle Verbindung herstellen (RS232 eins Rechners mit dem UART-Anschluss des BF (vgl. Abbildung)
  2. Terminal-Programm öffnen (MS-Windows: z. B. Hyperterm oder Bray-Terminal) und auf 19200bps, 8 Datenbits, 1 Stopbit, kein Parity-Bit, keine Flusskontrolle einstellen
  3. am Butterfly zum Menüpunkt "Download Name" durchhangeln ("Name"-Menü)
  4. den Joystick drücken ("klick"/enter), es erscheint "Waiting for Input from RS232"
  5. im Terminal-Programm einen Text eintippen (maximal 24 Zeichen) und die Eingabe mit "Return" bestätigen. Hierbei Zeichen für Zeichen eintippen und keine Zeichenfolge senden (die Softwareroutine "verschluckt" sich sonst, da keine kein Eingabepuffer implementiert ist).
  6. auf dem Butterfly-Display sollte nun der eingegebene Text erscheinen

(aus: AVR Butterfly User Guide)

Programmieren

Wenn die Namenseingabe funktioniert: sicherstellen, dass auch "die andere" Leitung (TX) richtig angeschlossen ist. Das Firmware-Update ist im Gegensatz zur Namenseingabe "bidirektional", der AVR sendet also auch. BF in Bootloader-Mode bringen mit:

  • bei der vorinstallierten Anwendung: Menü "Options/Jump to Bootloader" oder
  • Batterie raus/rein oder
  • Hardware-Reset mittels "Drahtbrücke" am ISP-Header (RST-GND)

Das Display zeigt im Bootloader-Modus "nichts". Joystick drücken ("klick") und gedrückt halten, AVR-Studio/Tools/AVRProg aufrufen. Dabei darf kein anderes Programm den COM-Port belegen. Sobald das AVRProg-Fenster erscheint, kann man den Joystick loslassen.

Zusatz

  • Eine Baud-Einstellung ist bei AVRStudio/AVRProg nicht möglich. AVRProg probiert einige Baudraten aus und versucht Kontakt aufzunehmen (außer 19200 zumindest noch bei einer anderen - Wert vergessen). Der BF-Bootloader ("Ansprechpartner von AVRProg") stellt den UART des AVR auf 9600*2=19200 Baud ein. Wenn man nicht an den Fuse-Bits "gespielt" hat, was ohne ISP/JTAG nicht möglich ist, funktioniert die Übertragung mit 19200 bps (bei 2MHz internem Takt).
  • Terminalprogramm (z. B. für die Namenseingabe): neuere Versionen des Bray-Terminal haben eine Funktion, welche die serielle Schnittstelle freigibt, sobald das Terminalfenster den Fokus verliert (also ein anderes Programm "in den Vordergrund" kommt) - sehr praktisch, da das Terminalprogramm "im Hintergrund" nicht den COM-Port belegt und somit AVRProg "aussperrt".
  • Falls beim Test der Namenseingabe eine Zeichenfolge gesendet werden soll, muss zwischen den Zeichen eine kurze Pause erfolgen. Dazu ist dann ein Terminalprogramm erforderlich, dass die Option bietet, zwischen aufeinander folgenden Zeichen eine Pause(Delay) einzufügen und die Dauer der Pause auf 1 bis 2 Millisekunden einzustellen. Bietet das Terminalprogramm keine solche Option, tippt man zum Test den Namen langsam Zeichen für Zeichen ein.

Links