-
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
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
Bitmanipulation
ODER-Verknüpfung, während der Befehl sbi die Bitnummer benötigt. Darauf sind auch die Includefiles von Atmel im AVR-Studio (Assembler) als auch WinAVR (C) ausgelegt. Die Namen der Bits sind als Bitnummer definiert. Das ist wichtig, wenn man Register von großen AVRs manipuliert, z. B. ATmega48. Hier muss aus der Bitnummer
konstanten Werten bereits zur Compilierungszeit auf und es entsteht kein zusätzlicher Maschinencode. Bei AVR sind die Definitionen meist Teil der Entwicklungsumgebungen (bei avr-libc z. B. implizit durch #include avr/io.h ). Sie entsprechen den Angaben und Beispielen in den Datenblättern und sind damit de
-
Artikel
AVR - Die genaue Sekunde / RTC
Mathematik nehmen, welche zur Berechnung der Teilerfaktoren benötigt wird. Lösung. Speziell für den AVR kommen Quarze im Bereich 1MHz bis 20MHz zum Einsatz, d.h. in einer Sekunde werden 1.000.000 bis 20.000.000 Zyklen durchlaufen (Zyklen pro Sekunde = Frequenz). Möchte man eine Sekunde messen, kann man
1, welcher die Anzahl von Timertakten pro Interrupt definiert. Beispiel. Im Beispiel AVR wird ein 11,0592-MHz-Quarz verwendet, was einem üblichen Baudratenquarz entspricht, d.h. damit können die UART-Standardbaudraten erzeugt werden. Der Softwareteiler wird mit 256 gewählt, d.h. 256 Timerinterrupts
-
Artikel
Fehlersuche
damit beliebig langsam getaktet werden kann. Man muss nur beachten, dass dadurch die Busleitungen mit den Open Drain Ausgängen nicht zu sehr belastet werden. Am Besten schließt man diese Test-LEDs ebenfalls invertiert an
ist einfacher als sehr viele Änderungen auf einmal durchzuführen und danach zu testen. Siehe auch. AVR Checkliste Forumsbeitrag: Protokoll eines unbekannt Display mittels Chaosangriff entziffern Links. Analog Circuits (World Class Designs) ISBN 978-0750686273, eine Zusammenstellung von verschiedensten
-
Artikel
FIFO
Hunderte Bytes in sehr kurzer Zeit (wenige Dutzend Mikrosekunden) hineinschreiben, welche dann relativ langsam mittels Interrupt Byte für Byte mit dem UART gesendet werden. Die CPU muss nicht warten, bis jedes einzelne Zeichen versendet wurde. Zum Vergleich. Ein AVR mit 16 MHz Takt macht während der Übertragung
zum anderen hat man dann den 'Bonus', dass der Code immer noch korrekt funktioniert (wenn auch langsamer), wenn der Anwender einen Fehler macht und die Array-Länge nicht als 2-er Potenz definiert. Die Operation kann dann durch die in diesem Sinne gleichwertige Operation ausgedrückt werden, bzw. durch
-
Artikel
Wellenwiderstand
Analogschaltungen stellen erhöhte Anforderungen an die Verbindungsleitungen zwischen ICs und Baugruppen. Wo ein langsamer CMOS-Baustein der 4000 Serie mit ein paar Megahertz (wobei die Flankensteilheit entscheidet - nicht die Frequenz) noch problemlos auf dem Steckbrett mit wilder Klingeldrahtverkabelung funktioniert
Laufzeit der Leitung größer als ca. 1/6 der minimalen Anstiegszeit der Signale ist. Ein Beispiel: Ein AVR ist ein recht typischer, digitaler IC. Die minimale Anstiegszeit beträgt ca. 5ns. Nach obiger Formel darf die Laufzeit nur 1/6 · 5ns ≈ 0,83ns betragen. Bei einer Ausbreitungsgeschwindigkeit von 21cm
-
Artikel
Pulsweitenmodulation
wird vor allem im Audiobereich gemacht. Dazu werden praktisch Operationsverstärker eingesetzt. In der AVR Application-Note AVR335: Digital Sound Recorder with AVR and DataFlash wird zum Beispiel ein mit Operationsverstärkern aufgebauter Chebychev-Tiefpass fünfter Ordnung verwendet. Man findet im Audiobereich
schon richtig viel zusammen. Etwas genauer: Schaltverluste beim FET Siehe auch. Pulsdichtemodulation AVR-Tutorial: PWM AVR-GCC-Tutorial: PWM Soft-PWM Motoransteuerung mit PWM LED-Fading AVR PWM Ambilight in Hardware 1-Bit Digital-Analog-Wandlung Forumsbeitrag: Audioausgabe mit PWM Forumsbeitrag: SPWM auf
-
Artikel
FPGA
festgelegt und damit bekannt sind. Insbesondere bei langsamen sequentiellen Aufgaben (Benutzerinterface, komplexe Steueraufgaben etc.) wird gerne auf eine klassische CPU zurückgegriffen, weil ein eventueller Zeitnachteil wegfällt, aber das Testen des Systems
SERDES-Transceiver für mittelpreise FPGAs ohne SERDES / sehr hohe Frequenzen Camera-Link-Deserializer (für langsame FPGAs) LVDS-Buffer-Deserializer (für langsame FPGAs ohne LVDS buffer) DVI-Buffer Für Analoge Daten benötigt man selbstredend noch Video-ADCs / Video-DACs, die überhaupt erst ein digitales Signal erzeugen
-
Artikel
Spannungsteiler
Eingangswiderstand hoher Ausgangswiderstand bei hochohmigen Widerständen sinkt die obere Grenzfrequenz, nur langsame Signale sind dann noch messbar Als grobe Abschätzung gilt Einschränkungen bezüglich der Werte für , , , ( ist die Frequenz, bei der das Ausgangssignal um 3 dB (≈ 30 % der Spannung) abgefallen ist.) Nachfolgend ist eine praktische Schaltung des Spannungsteilers mit einem AVR-Mikrocontroller gezeigt. Prinzipiell gilt sie natürlich für jeden Mikrocontroller bzw. ADC. Wichtig ist hier der Kondensator C1. Dieser ist notwendig, um kurzzeitig Strom zu liefern, wenn der ADC das
-
Artikel
Elektronikversender
günstiger Versand Elmicro - Elektronikladen Mikrocomputer Group. Homepage: Mikrontroller-Evalboards (AVR, CAN, ARM, Propeller, 8051, TMS320, Basic-Stamp, ...) Programmierumgebungen (Keil, BASCOM-AVR,...) Displays Programmer Schnittstellenwandler Logaicanalysatoren ... Nachfolger des "Der Elektronikladen
Bauelemente Bausätze zu Projekten aus dem Forum ESP8266 Module, SD-Slots, RFID, Bluetooth-Module, AVR Mikrocontroller, USB uvam. Bauelemente, die nicht im Shop angeboten werden, können auf Anfrage (Kontaktformular) oft beschafft werden Günstige Preise und Versandkosten ab 3,95EUR, kein Mindestbestellwert
-
Artikel
STM32
STM32F479 und vieles mehr ... Struktur der Dokumentation. Die Dokumentation der STM32 ist im Vergleich zur AVR-Familie umfangreicher und komplexer. Sie teilt sich in mehrere Dokumente auf. Als Beispiel der Dokumentation soll stellvertretend der STM32F103RC genannt werden. Die Seite von ST beinhaltet alle nötigen
und prinzipiell auch andere Cortex-M benutzt werden kann. Zwar ist er mit 1.8MHz Takt ein sehr langsamer Vertreter seiner Art, jedoch lassen sich mit ihm fremde Hex- und Binary-Files sowohl Debuggen als auch Flashen. Die ST-LINK-Variante auf den Nucleo- bzw. Discovery-Boards beherrscht nur SWD und kein
-
Artikel
Raspberry Pi Einführung
Schnittstellen-Erweiterungen über seriellen Port oder USB an, zum Beispiel mit einem handelsüblichen AVR Mikrocontroller-Modul und der Firmware von Stefan Frings Gertboard. Webseite: Eine I/O-Aufsteckplatine mit zusätzlichem Mikrocontroller (bisher PIC, jetzt ATMega) I2C-Repeater-Board für Raspberry PI
einem Wecker machen, der einen nicht mit lautem, nervigen Piepsen aus dem Schlaf reißt, sondern langsam in Verbindung mit einem künstlichen Sonnenaufgang weckt. Fehlt nur noch ein Relais, über das die Kaffeemaschine angeschaltet wird, und der Morgen ist perfekt. Bei diesem Projekt gibt es sogar den