K |
K (→Downloads) |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
== Was machen die Binärdateien? == | == Was machen die Binärdateien? == | ||
− | Die Programme schalten Port B1 im Sekundentakt zwischen LOW und HIGH hin- und her. Generiert sind die Programme für eine Taktfrequenz von 1 MHz. Falls dein AVR mit einem anderen Takt läuft, | + | Die Programme schalten Port B1 im Sekundentakt zwischen LOW und HIGH hin- und her. Generiert sind die Programme für eine Taktfrequenz von 1 MHz. Falls dein AVR mit einem anderen Takt läuft, dann wechselt der Port entsprechend schneller bzw. langsamer. |
Eine der einfachsten Anzeigen dafür ist eine [[Leuchtdiode]] (LED). | Eine der einfachsten Anzeigen dafür ist eine [[Leuchtdiode]] (LED). | ||
Zeile 119: | Zeile 119: | ||
== Downloads == | == Downloads == | ||
− | * [http:// | + | * [http://www.gjlay.de/pub/blinky.tar.gz blinky.tar.gz] (60 kByte) |
− | * [http:// | + | * [http://www.gjlay.de/pub/blinky.zip blinky.zip] (156 kByte) |
== Wo kommen die Binärdateien her? == | == Wo kommen die Binärdateien her? == |
Aktuelle Version vom 23. Juli 2007, 17:35 Uhr
Wenn man mit AVR-Controllern anfängt, braucht man oft eine Binärdatei, um die Programmierumgebung zu testen oder ab man den Controller richtig angeschlossen hat. Das Archiv gibt es als zip-Datei und als tar.gz.
Inhaltsverzeichnis
Was machen die Binärdateien?
Die Programme schalten Port B1 im Sekundentakt zwischen LOW und HIGH hin- und her. Generiert sind die Programme für eine Taktfrequenz von 1 MHz. Falls dein AVR mit einem anderen Takt läuft, dann wechselt der Port entsprechend schneller bzw. langsamer.
Eine der einfachsten Anzeigen dafür ist eine Leuchtdiode (LED).
Welche Binärformate sind in den Archiven?
In den Archiven sind Binärdateien folgender Formate:
- Intel HEX (*.hex)
- srec (*.srec)
- elf32-avr (*.elf)
- Binary (*.bin)
Wie muss ich die LED anschliessen?
Die LED wird mit einem Vorwiderstand R zwischen dem AVR-Port B1 und GND angeschlossen.
Für jeden LED-Typ gibt es eine Vorwärtsspannung VF. Ist VCC die Betriebsspannung, dann muss der Vorwiderstand R größer sein als
- [math] R_\mathrm{min} = \frac{V_\mathrm{CC}-V_F}{I_F} [/math]
IF ist der Strom durch die LED. Für Standard-LEDs genügen 15 mA, für Low-Current-LEDs 2 mA. Typische VF für
- rote LED: 1.6 V
- grüne LED: 2.3 V
- blau: 3.5 V
IF muss kleiner sein als der Strom, den der AVR liefern kann, also kleiner als 20mA.
LED-Typ | max. Strom [mA] |
Mindest-Widerstand [Ω] |
---|---|---|
Standard Rot/Gelb | 15 | 270 |
Standard Grün | 15 | 220 |
Low Current Rot/Gelb | 2 | 1800 |
Low Current Grün | 4 | 680 |
High Efficiency Rot/Gelb | 5 | 680 |
High Efficiency Weiß/Blau/Grün | 5 | 300 |
High Efficiency LEDs vertragen höhere Ströme, zum Test reichen 5 mA aber dicke aus um was zu sehen.
Für welche Controller gibt es Binärdateien?
Bislang gibt es Binärdateien für folgende AVRs:
Classic AVR | Getestet |
---|---|
AT90S2313 | |
AT90S8535 | |
AT90S8515 | |
megaAVR | |
ATmega8 | x |
ATmega8515 | |
ATmega8535 | |
ATmega48 | |
ATmega88 | |
ATmega16 | x |
ATmega162 | |
ATmega168 | x |
ATmega32 | x |
ATmega64 | |
ATmega644 | x |
ATmega128 | |
LCD AVR | |
ATmega169 | |
tinyAVR | |
ATtiny2313 | |
ATtiny24 | |
ATtiny44 | |
ATtiny84 |
Wo finde ich was im Archiv?
Im Archiv gibt es für jeden AVR-Typ ein eigenes Unterverzeichnis. Für einen ATmega32 ist es
./blinky/atmega32
In diesem Unterverzeichnis liegen die Dateien für den ATmega32, die alle blinky-b1_atmega32 heissen und verschiedene Endungen haben:
- *.hex
- Intel-HEX Datei (binär)
- *.bin
- Binary-Datei (binär)
- *.elf
- elf-Datei (binär)
- *.srec
- srec-Datei (binär)
- *.lss
- Disassembly des Programms (Textdatei)
Die HEX-Datei für einen ATmega32 befindet sich im Archiv also in
./blinky/atmega32/blinky-b1_atmega32.hex
Für die anderen AVRs analog.
Downloads
- blinky.tar.gz (60 kByte)
- blinky.zip (156 kByte)
Wo kommen die Binärdateien her?
Die einzelnen Dateien wurden alle aus der C-Quelldatei
./blinky/blinky.c
erstellt, die ebenfalls im Archiv enthalten ist. Compiler ist avr-gcc.