-
Artikel
AVR Checkliste
Programmieren mit dem usbasp Programmieradapter muss die Geschwindigkeit richtig eingestellt werden. Bei einem AVR der auf den eingebauten 1 MHz läuft muss mit langsamer Geschwindigkeit (Jumper zu) programmiert werden. Programmieren via SPI und angeschlossene SPI-Hardware. Wenn Peripherie über SPI angebunden ist
Ebenso sieht man, ob versehentlich die CLKDIV Fuse gesetzt ist: die Blinkfrequenz ist dann achtmal langsamer. Allerdings muss man auch hier aufpassen. Siehe AVR-GCC-Tutorial: Warteschleifen. Erscheinen im Terminalprogramm kryptische Zeichen anstatt ordentlichen Buchstaben (z. B. ü statt A), liegt das zu
-
Artikel
AVR-Tutorial: Servo
Diese Seite ist noch im Entstehen und, bis sie einigermaßen vollständig ist, noch kein Teil des Tutorials. Vorbemerkung. Dieses Tutorial überschneidet sich inhaltlich mit dem Artikel Modellbauservo Ansteuerung. Wir beschreiben hier die grundsätzliche Vorgehensweise zur Ansteuerung von Servos und geben ein Beispiel in Assembler, während der genannte Artikel ein in C formuliertes Beispiel zur Ansteuerung mehrerer Servos liefert. Allgemeines über Servos. Stromversorgung. Werden Servos an einem Mikrocontroller betrieben, so ist es am besten, sie aus einer eigenen Stromquelle (Akku) zu betreiben. Manche
-
Artikel
AVR-GCC-Codeoptimierung
Speicherzugriffe in den Stack erzeugt werden. Diese machen das Programm sowohl größer aus auch langsamer. Zudem reserviert avr-gcc bei solche Funktionen das Y-Register als Frame-Pointer; das Y-Register steht damit nicht mehr für lokale Variablen zur Verfügung was sich ebenfalls ungünstig auf die Codegüte
mehrere Flag-Variablen in ein Byte zusammenzufassen, auch wenn dann die Zugriffe möglicherweise etwas langsamer werden. Logische Operatoren werden auf int-Größe erweitert. Obwohl der AVR ein 8-Bit Controller ist, verlangt der C-Standard, daß ein int mindestens 16 Bits groß ist. Wegen den Promotion-Regeln von
-
Artikel
AVR In System Programmer
von Atmel ;-) –, der serielle Steuerkommandos und Daten vom PC in Programmiersignale für den Ziel-AVR umsetzt. Die zur AppNote gehörende Firmware gibt es unter siehe auch den Thread AVR - suche Datei avr910.asm von Atmel. AVR911: AVR Open Source Programmer (C++-Quellcode: Files → AN_2568 Source Code
, Schaltplan, Layout, Firmware. Das AVR910 Design ist u.a. auf der Seite von Serasidis Vasilis im Detail beschrieben. Weitere Bausätze bzw. Bauanleitungen zu AVR910 Programmern: AVR910-USB-Prog: Bausatz incl. USB-seriell Wandler AVR910-USB
-
Artikel
Umstieg von Arduino auf AVR
C-Standard zu Rate zu ziehen. Andere Vorkenntnisse. Bitmanipulation Harvard-Architektur Wissen über AVR und Mikrocontroller allgemein kann nicht schaden Software. Compiler: Man sollte entweder die Pfade zu den Executables des avr-gccs in der Arduino-Umgebung zur Umgebungsvariable PATH hinzufügen oder,
dann hat man halt Variablen mit einem zu großen Typ definiert, was macht das? Schon etwas, denn der AVR ist ein 8bit-Mikrocontroller, das bedeutet grob, dass er immer nur 8bit-Zahlen auf einmal manipulieren kann, alles größere braucht mehrere Befehle und ist somit langsamer. Mikrocontroller mögen vorzeichenlose
-
Artikel
Pony-Prog Tutorial
Diese Anleitung beschreibt, wie vom Assembler (z. B. AVR-Studio) oder C-Compiler (z. B. avr-gcc/winavr) erzeugte HEX-Dateien auf einen Atmel AVR-Mikrocontroller übertragen werden. Die vorgestellte Lösung basiert auf freier oder kostenloser Software und low-cost-Hardware
zur Kommunikation mit dem Prozessor verwendet werden. SCK 7 Ausgang Programmier-Takt-Leitung (PA->AVR), mit SCK des AVR verbinden RESET 5 Ausgang Resetleitung, wird durch das Programmiergerät bei der Programmierung auf "LOW gezogen", mit RESET des AVR verbinden Sogenannte "value-added" Programmieradapter
-
Artikel
AVR-Tutorial: UART
Modem Daten übertragen werden. Das Modem muss diese Daten bearbeiten und unter Umständen über eine langsame Telefonleitung absetzen. Überträgt der AVR seine Daten mit voller Geschwindigkeit an das Modem, so wird auch dem besten Modem irgendwann der interne Speicher ausgehen, in dem es die Daten zwischenspeichern
Seiten gegenseitig mit einem XOFF blockieren, aus dem sie nicht mehr herauskommen. Weblinks. WormFood's AVR Baud Rate Calculator Baudraten-Rechner für ATmega AVRs (JavaScript) ----
-
Artikel
Diskussion:AVR-Tutorial: 7-Segment-Anzeige
Das Programm zur Multiplexanzeige paßt nicht zur oben abgebildeten Schaltung: Die Digits werden mit dem Pegel Low eingeschaltet. Im Programm wird High benutzt. ---- Die Konstanten im Programm sind so gewählt dass 0 (low) für ein aktives Segment steht, das müsste also stimmen. -andreas 20:04, 18. Okt 2007 (CEST) ---- Die Segmente sind schon O.K., ich meine aber die Digits an PC0 - PC3. Die sind auch low-aktiv, werden im Prog aber als high-aktiv behandelt. Deshalb wird nur "Mist" angezeigt, weil 3 Digits zur selben Zeit angesteuert werden. --thomas 12:45, 7. Dez 2007 (CET) ---- Da scheint tatsächlich
-
Artikel
AVR-Tutorial: Equipment
Beschreibung der Unterschiede zwischen einem ATmega8 und ATmega88 findet man in der Application Note "AVR094: Replacing ATmega8 by ATmega88" unter . Fertige Evaluations-Boards und Starterkits. AVR Starterkit aus dem Mikrocontroller.net-Shop. Sehr gut für dieses Tutorial geeignet ist das Olimex AVR-P28-Board
gleichermassen kostenlos entwickeln will, der sollte sich die IDE Eclipse for C/C++ Developers und das AVR-Eclipse Plugin ansehen, beide sind unter Windows und Linux einfach zu installieren. Hier wird auch der AVR-GCC benutzt. In der Artikelsammlung gibt es ein umfangreiches AVR Eclipse Tutorial zu dieser
-
Artikel
Klangerzeugung
) Doorbell bei www.microsyl.com (en, AVR, C) Simple SD Audio Player with ATtiny85 (elm-chan.org) PIC18F SD WAV Audio Player ähnlich 1 zusätzlich mit Tiefpassfilter MIDI DDS(Englisch) (en, AVR, ASM) (en,AVR,ASM) AVR314: DTMF Generator AVR335: Digital Sound Recorder with AVR and DataFlash AVR336: ADPCM Decoder (de, ASM) (de, ASM) Rage Against The AVR - WAV-Daten mit PWM über Atmega48 in Stereo ausgeben (en, BASCOM AVR, PC: Python) Make an Arduino talk to you auf hackaday.com
-
Artikel
AVR-Tutorial
Ausser diesem Tutorial gibt es noch das AVR-GCC-Tutorial sowie die Artikel in der :Kategorie:avr-gcc Tutorial. Aufbau des Tutorials. Einleitung: Worum geht es überhaupt? Benötigte Ausrüstung: Welche Hard- und Software brauche ich, um AVR-Mikrocontroller
Artikel Entscheidung Mikrocontroller zusammengefasst. Viele dieser Anforderungen werden von den 8-bit-AVR-Controllern von Atmel erfüllt. Deshalb werde ich einen AVR, genauer gesagt den ATmega8, in diesem Tutorial einsetzen. Und damit kein Missverständnis aufkommt: So etwas wie den "besten" Controller gibt
-
Artikel
LED-Fading
Schaltflächen kopieren die Arraywerte in die Zwischenablage. Das Programm ist ursprünglich auf einem AVR vom Typ ATmega32 entwickelt und getestet worden. Aber es ist leicht auf jeden AVR portierbar, welcher eine PWM zur Verfügung hat. Der AVR muss mit etwa 8 MHz getaktet werden, egal ob mit internem Oszillator
Stufen, es sei denn, man macht extrem langsame Einblendungen. Hier schlägt die Stunde der 16-Bit PWM. Diese wird bewußt sehr langsam ausgeführt um zu demonstrieren, daß hiermit praktisch keine Stufen mehr sichtbar sind, egal wie langsam gedimmt
-
Artikel
Entprellung
einem Pegel auf den anderen springen kann. Wenn der Schalter geöffnet ist, lädt sich der Kondensator langsam über die beiden Widerstände R 1 und R 2 auf V CC auf. Beim Erreichen der Umschaltschwelle springt der Ausgang auf den Pegel 0. Wird der Schalter geschlossen, entlädt sich der Kondensator langsam über
einzelnen Instruktionen alle 8 möglichen Kombinationen der 3 Signale dargestellt. Beispielcode für AVR (Assembler): Komfortroutine (C für AVR). Siehe dazu: Forumsbeitrag Universelle Tastenabfrage. Anmerkung: Wenn statt active-low (Ruhezustand high) active-high (Ruhezustand low) verwendet wird, muss eine
-
Artikel
Quarze und AVR
Verwendung. Quarze sind in folgenden Situationen sinnvoll / notwendig: Interner Oszillator des µC zu langsam Interner Oszillator des µC zu ungenau Bei Verwendung des UART Bei zeitgenauen Anwendungen wie Uhren Wahl der richtigen Frequenz. Vor allem als Anfänger denkt man sich, ich kaufe einfach mal 10MHz,
Calculator die Fuses berechnen lassen. Siehe dazu die Weblinks unten. Nochmals genau überprüfen Siehe auch. AVR Fuses: Fuse Einstellung für Taktquellen Vergleich der AVR-Taktquellen Weblinks. AppNotes von Atmel zum Thema Quarze: AVR042: AVR Hardware Design Considerations AVR186: Best Practices for the PCB layout
-
Artikel
AVRDUDE
2.x als avrispv2 o.ä.), das Atmel AVRISP MKII (USB Ansteuerung mittels lib-usb bzw. lib-usb-W32), AVR910-kompatible Programmierer, den AVR Butterfly/AVR109-kompatible Bootloader, STK200-Programmierdongles und verschiedene andere Parallelport-Adapter sowie "serielle Statusportprogrammierer" (Siprog)
AVRISPmkII + AVRDUDE + Window Vista (32). "avrdude was compiled without usb support". Offenbar enthielt WinAVR-20100110 zunächst fälschlicherweise eine AVRDUDE Version ohne USB Support Abhilfe (Einer der drei Punkte): 1. WinAVR deinstallieren, gleiches Release (WinAVR-20100110) nocheinmal herunterladen und installieren
-
Artikel
Atmel Studio
speziellen Debug-Plattform größtenteils identisch aus. Es existieren folgende Debug-Möglichkeiten: AVR Simulator AVR In-Circuit Emulator / JTAG-Adapter: Atmel-ICE, AVR Dragon, AVR ONE!, JTAGICE3, JTAGICE mkII, SAM-ICE Simulation die meisten AVR-Mikrocontroller werden unterstützt z.T langsamer als eine
MB, avr-gcc 4.6.2, AVR-Libc 1.8.0, updated 2012/08) AVR Toolchain 3.4.0-1146 (91 MB, avr-gcc 4.6.2, AVR-Libc 1.8.0, updated 2012/06) AVR Toolchain 3.3.1-1020 (94 MB, avr-gcc 4.5.1, AVR-Libc 1.7.1, updated 2012
-
Artikel
AVR-Tutorial: Stack
in umgekehrter Reihenfolge wieder die richtigen Rücksprungadressen anspringen. Bei allen aktuellen AVR-Controllern wird der Stack im RAM angelegt. Der Stack wächst dabei von oben nach unten: Am Anfang wird der Stackpointer (Adresse der aktuellen Stapelposition) auf das Ende des RAMs gesetzt. Wird nun
. Kleinere AVR besitzen keinen Befehl, um direkt zu einer Adresse zu springen, die in einem Registerpaar gespeichert ist. Man kann dies aber mit etwas Stack-Akrobatik erreichen. Dazu einfach zuerst den niederen Teil
-
Artikel
Lichtsensor / Helligkeitssensor
C-Routine für AVR: Das Ganze lässt sich natürlich noch clever in Timer-ISRs packen, damit das Programm zwischendurch weiterlaufen kann. Hängt man das andere Ende anstatt an Ground ebenfalls an einen µC-PIN so kann man
besser als Warteroutinen zu verwenden ist die Input-Capture Funktionalität, die Microcontroller wie AVR zur Verfügung stellen. Paper (die Theorie und Möglichkeiten) Reaktives Licht fürs Geocaching - Doppelnutzung einer LED als Lichtsensor und als Lichtquelle von Sir Vivor. (AVR) - MSP430 Demo Code - LED
-
Artikel
AVR-Ada
, Compiler, FAQ: AVR-Ada. AVR-Ada basiert auf GNAT, dem Ada-Compiler des GCC. Da der Ada-Compiler das selbe Backend wie der C-Compiler verwendet, ist die Codequalität bei AVR-Ada ähnlich hoch wie bei AVR-GCC. AVR-Ada wird
avr entpacken. Die Software wurde unter Panther (10.3) kompiliert, sollte aber auch mit 10.4 funktionieren.
-
Artikel
Pegelwandler
32T245 1,5 V ... 3,6 V ⇔ 1,5 V ... 5,5 V. Bauteile 74LVC4245A Mit galvanischer Trennung. Optokoppler (Langsam! Es gibt verschieden schnelle Koppler, aber über 1 MHz kommen sie kaum hinaus. Grundregel: Solche mit Fototransistoren sind am langsamsten, Richtwert 10 kHz, Fotodioden sind schneller, schnelle Optokoppler
umgeschaltet werden kann. Antworten: So ein IC ist der Linear LTC1555L-1.8 . SN74LVC1T45 SN74LVC8T245 AVR SPI (SDC/MMC). Für bidirektionalen Betrieb zwischen 5V-AVR und 3,3V-Geräten und anders herum gibt es den Level-Translator MAX3378E von Maxim. Wenn die Datenrichtung am SPI im Zielsystem festgelegt ist
-
Artikel
AVR-Simulation
SimulAVR. SimulAVR ist ein Simulator, der einige Prozessoren der AVR-Familie auf einem PC-Hostsystem (Windows, Linux, Mac OS X) simulieren kann. Dieser Simulator ist auch im WinAVR-Paket enthalten (/WinAVR/bin/simulavr.exe). Eine Verwendung von SimulAVR ist das sog. Signal Tracing, d.h. das aufzeichnen von Änderungen der diversen Register (z.B. der Pins eines I/O-Ports) in eine VCD-Datei. Auch wenn die Laufzeit des Simulators oft langsamer als die
-
Artikel
AVR PWM
mit AVRs angefangen, die LED blinkt, Taster wird abgefragt, schonmal von PWM gehört und unter den AVR Pins welche mit OC.. entdeckt, das hängt damit irgendwie zusammen." Man sollte sich auch um die Prozessorfrequenz gekümmert haben, also die AVR_Fuses entsprechend gesetzt haben. Wer in Begriff steht
verstanden zu haben. Ein Blick ins GCC-Tutorial lohnt, die Atmel Application Note 130: Setup and Use the AVR Timers schadet auch nicht. Wie schon angedeutet, gibt es - je nach AVR - einen oder mehrere T/C . Sie unterscheiden sich erwartungsgemäß durch ihre Parameter und Optionen, z. B. die Auflösung, Frequenz
-
Artikel
Sensorlose BLDC Ansteuerung
nennenswertes Problem mehr. Mikrocontroller. Bei der Wahl des µC entschied ich mich für meinen lieblings 8-Bit AVR, den Atmegaxx8. Dieser, so dachte ich, hat genügend Ressourcen. Jedoch trat ein Problem auf, das mich im Nachhinein aber nur bedingt stört, da es ja funktioniert: Der ADC ist zu langsam: Der ADC eines
gleich 60 und Polpaarzahl miteinander verrechnen könnte. Oszillogramme. Aufbau. Known Issues. Der AVR-ADC ist für hohe Drehzahlen zu langsam bzw. ist die PWM -und Samplefrequenz mit 10/5KHz zu langsam um ausreichen Auflösung für das Flussintegral zu bekommen. Die Problematik ist dann, dass nur 1-2 Samples
-
Artikel
Low Cost FPGA Konfiguration
das Signal Done angezeigt. Fehlererkennung. Seitens des FPGAs ist Done ein Open Drain Ausgang. Im AVR wird der interne Pull-Up eingeschaltet, um das Signal auf HIGH ziehen zu können. Ist jedoch ein Fehler aufgetreten (CRC-Fehler im Datenstrom), bleibt Done auf LOW. Der AVR prüft Done am Ende der Konfiguration
Im Quellcode müssen nur drei Variablen an das jeweilige Projekt angepasst werden. Soll ein anderer AVR-Typ verwendet werden können auch die Pins einfach zugewiesen werden. Danach wird das Programm assembliert und per ISP in den AVR geschrieben. Abschliessend sollten die Fuses gesetzt werden. Der Takt
-
Artikel
AVR Fuses
Neueinsteigern wird das Programmieren mit einem "nutzerfreundlichen" Programmer mit GUI empfohlen: z. B. AVR-Studio STK500/AVRISP-Plugin, AVR-Studio AVRProg (für AVR910 Programmer) oder PonyProg. Hier sollten die Fuses erst einmal vom µC ausgelesen werden. Im Vergleich mit dem Datenblatt kann man dann feststellen
Vergleich ausgelesener Werte bei drei verschiedenen Bedienprogrammen und dem gleichen programmierten AVR (ATmega32 mit externer Clock). AVR Studio. Am gelungensten ist wohl die Darstellung in AVR Studio: man klickt vorne an, was man will (Häkchen gesetzt oder nicht) und "hinten" kümmert sich AVR Studio
-
Artikel
DCF77-Funkwecker mit AVR
Die Signalpolarität lässt sich normalerweise mit einem Multimeter herausfinden, da das Signal sehr langsam ist. 5V-fähig waren die von mir getesteten (5stk./ verschiedene Uhren) auch alle. Aber Achtung, der Empfänger ist komplexer, als es hier den Anschein hat. Die Antenne ist optimiert und ist dc-mäßig
vom AVR sauber auf GND zu ziehen (typ. 50 k ). Dieses Modul muss direkt an einen CMOS-Eingang ohne Pull-Ups und sonstige Beschaltung angeschlossen werden. Weiterhin ist zu beachten, dass das Modul relativ empfindlich
-
Artikel
AVR-GCC-Tutorial
zur Laufzeit entschieden werden, wie der Zugriff auszuführen ist und entsprechend länglicher und langsamer wird der erzeugte Code. Siehe auch: AVR-LibC: Data in Program Space Datenzugriff jenseits 64 KiB. Normale Zeiger beim avr-gcc sind 16 Bit breit, können somit also nur 64 KiB Datenspeicher adressieren
Benutzung des EEPROMs normalerweise notwendig sind: EEPROM-Operationen sind im Vergleich relativ langsam. Man muss daher darauf achten, dass eine vorhergehende Operation abgeschlossen ist, ehe die nächste Operation mit dem EEPROM gestartet wird. Die in der avr-libc implementierten Funktionen aus eeprom.h
-
Artikel
AVR-Tutorial: Mehrfachverzweigung
springen kann! die einzelnen Zweige haben unterschiedliche Durchlaufzeiten, der letzte Zweig ist am langsamsten nur bedingt übersichtlicher Quellcode Sprungtabelle. Oft liegen die einzelnen Vergleichswerte nebeneinander (z. B. 7…15), z. B. bei der Übergabe von Parametern, Zustandsautomaten, Menüeinträgen
Tabelle Sprungbefehle auf einzelne Programmzweige abgelegt werden. Das ist praktisch genauso wie der AVR Interrupts verarbeitet. Über einen Index (0…N) wird ein Sprungbefehl ausgewählt und ausgeführt. Der entscheidende Befehl dazu ist ijmp . Zunächst muss der Wertebereich, auf welchen die Variable geprüft
-
Artikel
Snippets
universell verwendbar halten und für Dritte ausführlich und verständlich kommentieren. Software-Snippets. AVR: ADC. Die folgenden Routinen sind einfachste C-Funktionen zum Auslesen des AD-Wandlers eines AVR. Die Registernamen bitte an den konkret verwendeten AVR anpassen (Datenblatt). Anm.: Umfangreichere Routinen
Schottkydiode 1N5819 in Sperrrichtung über der Last.) Normale 1N400x Dioden sind zumindest im PWM-Betrieb zu langsam.
-
Artikel
High-Speed capture mit ATmega Timer
übereinandergelegt. Die orangene Linie 'LA' zeigt die Logic-Analyzer Messung, die schwarze Linie 'AVR' die ATmega Messung. Die Zeitskala ist in Sekunden, die Grafik zeigt einen Zeitraum von 40 µs. Wie man sieht, weichen die beiden Kurven kaum voneinander ab: Die blaue 'Dbg' Kurve zeigt die Rückmeldung
Funktioniert natürlich weiterhin mit ATmega168, ATmega328 und ATmega32U4 Siehe auch. Informationen über AVR Timer AVR-Tutorial: Timer AVR-GCC-Tutorial/Die Timer und Zähler des AVR Bits schieben, setzen, rücksetzen Bitmanipulation Modulo-Arithmetik (für Berechnung der Zeitdifferenzen) Restklassenring Zweierkomplement
-
Artikel
AVR-Tutorial: PWM
Versorgungsspannung in weiten Bereichen verändert wird. Ein normaler Gleichstrommotor wird z. B. langsamer laufen, wenn er mit einer geringeren Spannung versorgt wird, bzw. schneller laufen, wenn er mit einer höheren Spannung versorgt wird. LEDs werden zwar nicht mit einer Spannung gedimmt, sondern mit
gegenüber der hier gezeigten verändern, aber das PWM-Prinzip könnte so übernommen werden. Siehe auch. PWM AVR_PWM Soft-PWM – optimierte Software-PWM in C LED-Fading – LED dimmen mit PWM ----
-
Artikel
Diskussion:Pony-Prog Tutorial
in PonyProg. Das Setup muss zu der verwendeten Programmerhardware und zur PC-Schnittstelle passen. AVR-Programmierung und LPT-Anschluss: WindowsNT/2000/XP work only with "Avr ISP I/O". Zum BIOS und zu Windows/COM: * Statt einer echten Schnittstelle wird ein USB-nach-... Adapter verwendet Keine oder problematische Kalibrierung der Programmiergeschwindigkeit in PonyProg. AVR-Programmierung: SPIBusSpeed von langsamst nach schnell vor testen. Bereits der PonyProg Selbsttest (Probe) versagt. Zum Selbsttest: Sonstige Programme auf dem PC stören den Zugriff auf die Programmierschnittstelle
-
Artikel
Speicher
Refresh (siehe DRAM weiter unten). Das bedeutet unter anderem, daß ein Mikrocontroller beliebig langsam getaktet werden kann (z. B. mit einem 32,768 kHz-Uhrenquarz) bzw. im Schlafmodus mit vollkommen gestopptem Takt betrieben werden kann, ohne seine Daten zu verlieren. Er kann mit einer hohen Geschwindigkeit
Software vorgenommen werden. Das ist jedoch relativ aufwendig, in der Anwendung umständlich und langsam. Sinnvollerweise sollte der Mikrocontroller eine eingebaute Speicherschnittstelle haben, um den SRAM per Hardware direkt und schnell ansprechen zu können. Mit Latch. Will man wertvolle Pins einsparen
-
Artikel
Soft-PWM
mit 100 Hz (PWM-Zyklus 10ms) und acht Kanälen generiert werden. Der verwendete Controller ist ein AVR vom Typ ATmega32, welcher mit dem internen RC-Oszillator auf 8 MHz getaktet wird. Das Programm kann jedoch problemlos an so ziemlich jeden anderen AVR angepasst werden. Die Programme wurden mit dem
CPU-Belastung [%] 1 284 49 2 324 30 3 968 0,3..1,2 13-bit-PWM ≈ 1500 ≈ 25 Siehe auch. Pulsweitenmodulation AVR-Tutorial: PWM AVR-GCC-Tutorial: PWM LED-Fading - LED dimmen mit PWM Forumsbeitrag: 24 Kanal Soft-PWM mit 10 Bit und DMX512 Ansteuerung Weblinks. Binary Code Modulation auf batsocks.co.uk, engl. Forumsbeitrag
-
Artikel
Leistungsaufnahme von Mikrocontrollern
Vergleichstabelle der Betriebsmodi. + Stromaufnahme [µA] Familie Controller Modus 1,8V 3,3V 5V Bemerkung AVR ATmega88 Aktiv 250 500 900 - AVR ATmega88 RTC 4 7 9 - AVR ATmega88 OFF 0,1 0,3 0,7 - AVR ATmega8 Aktiv - 1800 2300 - AVR ATmega8 RTC - 10 15 - AVR ATmega8 OFF - 0,4 1 - AVR ATmega324P Aktiv 500 600 1100 @2V, 3V, 5V AVR ATmega324P RTC 0,5 0,6 - @2V, 3V AVR ATmega324P OFF - 0,2 - @3V, no WDT AVR AT90S2313 Aktiv - 2000 5000 AVR der klassischen Baureihe AVR AT90S2313 OFF - 0,1 0,1 AVR der klassischen Baureihe Vergleichstabelle
-
Artikel
Digitales PC-Spektrometer
noch die Bauteile zur Beschaltung des Mikrocontrollers und des MAX232's, aber das ist ja alles im AVR-Tutorial erklärt. Die Schaltung. Die Schaltung ist so einfach wie möglich gehalten. Ein ATmega8 ist das Herzstück, er ist in der Standardbeschaltung mit einem 16Mhz Quarz betrieben. Der Vout-Ausgang
an PORTB 1 des Mikrocontrollers. Die Programmierung des µC's und der PC-Software. Ich programmiere AVR's in Assembler. Die PC-Software zum Empfangen der seriellen Daten erstellte ich mit Delphi. Delphi. Ich benutzte die Version Delphi 2005. Diese ist kostenfrei im Internet erhältlich. Um den COM-port
-
Artikel
Mikrocontroller Vergleich
Flash, evtl. noch Einzelbits). Außerdem noch Adresserweiterungen durch Mapping, Paging und Banking AVR: 3 Speicherklassen für Datenspeicher (RAM, ROM, EEPROM). In neueren Versionen von avr-libc kommt zwar eine 4. Klasse für die Fuse-Bits hinzu, die aber nur für die Konfiguration des Controllers verwendet
Flash. Versionen mit internem Cache und externem Speicher sind praktisch beliebig weit ausbaufähig. AVR: 6-Pin/0.5KB bis 100-Pin/256KB. Architekturbedingte Grenze bei 8MB Code, 64KB RAM. GCC/WinAVR derzeit nur bis 128KB Code möglich (in Arbeit). MSP430: 14-Pin DIP/1KB bis 113-Pin BGA/256KB, mittlerweile
-
Artikel
Diskussion:Entprellung
natürlich recht, als das die Ursache, also die Spannung am Schalter ganz anderes aussehen kann, bspw. langsames Ansteigen an Nicht-Schmitt-Trigger-Eingängen. Ich unterstütze deine Bemühungen, neue Bildchen einzufügen ;-) --Yahp 13:19, 9. Jul 2005 (CEST) Unkreativ und lustlos, aber vielleicht schon mal was,
braucht an dieser Stelle nicht zusätzlich gemacht zu werden. Zu solchen Seiteneffekten siehe auch AVR-GCC-Tutorial#Interrupts mit dem AVR GCC Compiler (WinAVR). Stefan 13:31, 12. Jun 2007 (CEST) Neue Funktion "Warteschleifenvariante mit Maske und Pointer". Guten Tag Ich habe eine Funktion zum Entprellen
-
Artikel
Multitasking
zurücksenden Ein einfacher Ansatz für die drei Dinge sieht etwa so aus. Die Beispiele wurden mit WinAVR Version 20081006 in der Optimierungsstufe -Os kompiliert. Wenn man das Programm nun laufen lässt, wird man feststellen dass das Hyperterminal sehr langsam reagiert und bisweilen Zeichen verschluckt
wenn man per Hyperterminal Zeichen eingibt Dieser Ansatz ist also untauglich. Egal wie schnell unser AVR auch ist, er reagiert sehr langsam. Verbesserter Ansatz. Will man mehrere Dinge gleichzeitig bearbeiten, muss man die Aufgaben in kleinste Häppchen zerteilen. Diese kleinsten Häppchen werden dann verschachtelt
-
Artikel
AVR-Tutorial: ADC
dann nur noch mit 16 bzw. 8 Bit. Literatur. Datenblatt des verwendeten Controllers Application Note AVR127: Understanding ADC Parameters (PDF; 777 KB) Application Note AVR121: Enhancing ADC resolution by oversampling (PDF; 117 KB) Application Note AVR120: Characterization and Calibration of the ADC on an AVR (PDF; 257 KB) Application Note AVR126: ADC of megaAVR® in Single-Ended Mode (PDF; 233 KB) Kristian Saxrud Bekken, Microchip: Differential and Single-Ended ADC (PDF; 161 KB) ----
-
Artikel
Diskussion:AVR Arithmetik/Sinus und Cosinus (Lineare Interpolation)
rechnen zu können ;-) Mein Vorschlag von 0.16 als Zahlenformat bei der Cordic-Diskussion Diskussion:AVR Arithmetik/Sinus und Cosinus (CORDIC), bezog sich nur auf die Tabelle selbst linsin_tab: ..const int16_t linsin_tab[91] PROGMEM = ... Damit wäre ein Bit Genauigkeit gewonnen, ohne am Platzbedarf etwas
hin. Oder eine quadratische Interolation explizit machen, dann aber /konkret/ was lauffähiges auf AVR. Allerdings stellt sich die Frage, wozu man sowas auf einem AVR überhaupt braucht. Gehen wir von einer Fräse aus, die einen Radius von 1m rausknabbern soll, dann liegt der Maximalfehler bei 60µm bzw
-
Artikel
AT32UC3C - Einstieg in die Programmierung
_ . [n] Beispiel: AVR32_SCIF.oscctrl[0] Register-Offset. AVR32_ _ Beispiel: AVR32_USART_CR Diese Bezeichnung gibt den Registeroffset, also die Speicherposition im jeweiligen Modulspeicher, an. Im Beispiel ist das CR (Control
Transmitter Enable). Da es sich beim TXEN um das Bit 6 im CR-Register handelt, ist die Bezeichnung AVR32_USART_CR_TXEN gleichbedeutend mit der Zahl 6. Absolute Adressierung von Bitfeldern. AVR32_ . . Beispiel: AVR32_USART.CR.txen Wenn man ein Bitfeld in einem Register direkt beschreiben will, kann man
-
Artikel
Plattformunabhängige Programmierung in C
Software durchführen, d.h. mit Maschinenbefehlen, die auf Ganzzahlen arbeiten. Das ist vergleichsweise langsam und benötigt zusätzlichen Programmspeicher für die entsprechenden Funktionen. Es bietet auch nicht jeder Compiler überhaupt Unterstützung für Double-Precision-Berechnungen. Der avr-gcc erfüllt beispielsweise
mit Registerbreite der Maschine und korrektem Alignment (siehe folgendes Kapitel) stehen: Auf dem AVR-Mikrocontroller ist die Funktion ntohs() leider nicht bei den mitgelieferten Bibliotheken dabei. Man muss sie also selber schreiben. Da der AVR eine Little-Endian-Maschine ist, müssen ntohs() bzw. htons
-
Artikel
AVR Butterfly über serielle Schnittstelle programmieren
"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
Millisekunden einzustellen. Bietet das Terminalprogramm keine solche Option, tippt man zum Test den Namen langsam Zeichen für Zeichen ein. =Links= AVR Butterfly Evaluation Kit - User Guide "Programming the Butterfly for idiots like me" Bray-Terminal für Windows
-
Artikel
Vektor-Font in C
enthält alle Quellen, ein Makefile sowie die Beispielprogramme pc-vecfont.c (PC), pc-vecfont-svg.c (PC), avr-vecfont.c (AVR). Als Software wird benötigt: GNU make Eine gcc-Host-Toolchain Eine avr-gcc-Toolchain convert aus dem ImageMagick-Paket zum Umwandeln von PBM nach PNG. Optional ein SVG-Betrachter wie
SVG-Grafik mit dem Text in 3 Zoom-Stufen. Eine wegen des SVG-Formats etwas kompliziertere Implementierung. avr-vecfont.c: avr-vecfont-callbacks.h: Implementiert den Vektor-Font für AVR, indem die Callbacks über Hook-Makros auf Inline-Funktionen abgebildet werden. Diese Implementierung zielt auf minimalen Flash-Verbrauch
-
Artikel
Diskussion:Mikrocontroller Vergleich
Vergleich der Grenzwerte. Hallo! Was mich noch interessieren würde, wären ein Vergleich der Grenzwerte der AVR-, Pic- und 8051er Modelle. Also Programmspeichergrößen, E²PROM-Größen, RAM-Größen, MIPS und MHz. Suche schon seit einiger Zeit nach diesen Informationen, kann sie aber nirgends finden. Vielleicht könntet
Mai 2013 (UTC) Anmerkungen. Ein paar kleine Anmerkungen: Compilerverfuegbarkeit: Das der gcc fuer AVR und msp gut handhabbar ist, liegt an der Verfuegbarkeit fertiger Linker-Skripts und Startup-Codes und nicht aussschliesslich "am gcc". Hat man "vorgekaute" Linker-Skripte und Startup-Code fuer gcc/gas
-
Artikel
RFM12
rowspan=2|auto lock rowspan=2|Bittakt-Rekonstruktion schaltet automatisch vom schnellen in den langsamen Modus, sobald ein Takt erkannt wurde 0 = aus, siehe ml 1 = ein, ml unwirksam rowspan=2|ml rowspan=2|manual lock rowspan=2|schneller/langsamer Modus der Bittakt-Rekonstruktion nowrap|0 = langsam (
von Bezugsquellen. csd-electronics IT-WNS Pollin Electronic RS Components Robotikhardware.de Links. AVR RFM12 RFM12 Protokoll Stack RF_SOAP RN-MikroFunk, kleines kompaktes AVR-Evaluationsboard für RFM12b und RFM12 Pollin_Funk-AVR-Evaluationsboard Sehr kleines/stromsparendes Funk-AVR-Evaluationsboard RN-MikroFunk
-
Artikel
AVR Bootloader FastBoot von Peter Dannegger
verschiedenen Gründen kann dies jedoch nicht möglich/ gewünscht sein: Geschwindigkeit: Der ISP-Dongle kann langsam sein (z. B. myAVR mit aktuellem AVRDude) PINs: Man braucht die PINs und will ISP abschalten (Fuses, aber Vorsicht!, danach kann man nur mit dem Bootloader oder einem AVR HV-Programmer noch an den
Beispiel-Makefiles. Diese Anleitung basiert auf fastboot_build29.tar.gz. Der Bootloader beinhaltet das Script "get_avr_arch.sh" in einer Version, die mit aktuellen avr-gcc-Versionen nicht klar kommt. Das äußert sich in folgender Fehlermeldung: get_avr_arch.sh: Could not find an architecture in avr-gcc's internal ld
-
Artikel
Gleitkommazahlen
style="text-align:right"| 11 bit double precision Achtung: Abweichend vom Standard sind double beim AVR-GCC und der avr-libc auch nur 32 Bit! long double style="text-align:right"| 80 Bit style="text-align:right"| 1 bit style="text-align:right"| 64 bit style="text-align:right"| 15 bit extendend precision
bei Rechnungen solche Fehler Hinweise. Bei alten (und oftmals heute noch genutzten) Versionen des avr-gcc (<10) wird sowohl float, als auch double mit 32bit gespeichert und gerechnet. Damit verhalten sich diese älteren avr-gcc-Versionen nicht Standard-konform, sparen aber auch Speicher und Rechenzeit
-
Artikel
Treiber
threshold voltage) – die für Leistungsbauteile zwischen ca. 3 und 4,5V liegt – geht das Bauteil langsam vom gesperrten in den leitenden Zustand über. Bei einem weiteren Spannungsanstieg bis zu einem Level von ca. 12V verringert sich der Einschaltwiderstand beim MOSFET bzw. der Kollektor-Emitter Spannungsabfall
auch an den gesamten Lastkreis individuell angepasst werden muss. Treiber-1 eignet sich eher dazu langsamere Schaltvorgänge mit Kleinsignal-FETs durchzuführen, aber auch höhere Leistungen sind prinzipiell so machbar, wenn man sich die höhere Verluste durch die langsame Ansteuerung erlauben kann. Der Widerstand