-
Artikel
Datei:ALPS MDLP3W104A Pinout 2022 Pollin D605067-B.pdf
UHF-Modulator ALPS MDLP3W104A Pinbelegung
-
Artikel
8bit-CPU: bo8
DX5 DX6 DX7 30- DY0 DY1 DY2 DY3 DY4 DY5 DY6 DY7 38- DZ0 DZ1 DZ2 DZ3 DZ4 DZ5 DZ6 DZ7 40- O.VZ O.VS B.VZ B.VS O.UZ O.US B.UZ B.US 48- O.AZ O.AS B.AZ B.AS O.KZ O.KS B.KZ B.KS 50- O.WY O.RP B.WY B.CN GTR ADR GTA NOL 58- IKL DKL IXL DXL IYL DYL IZL DZL 60- AD. LV. AV. SV. GT. AN. XR. NR. 68- STMX LVMX AVMX
---------------------------------------- nn ist zweites Byte eines 2-Byte-Befehls , % ist X|Y|Z AN.B A <= A and B NR.B A <= A nor B XR.B A <= A xor B AV.B A <= A+B+V V <= Carry SV.B A <= A-B-V V <= Carry LV.B A <= B-A-V V <= Carry GT.B A <= B ST.B B <= A AN. nn A <= A and nn NR. nn A <= A nor nn XR.
-
Artikel
Bitmanipulation
von PORTB bitweise ODER-verknüpft und das Ergebnis PORTB wieder zugewiesen. Ist PORTB vorher z. B. 0b01111010, dann ist der Inhalt nach der Operation 0b01111010 oder 0b00000101 = 0b01111111, die gewünschten Bits sind somit gesetzt! Anmerkung: Will man das gezeigte Beispiel der Bitmanipulation auf
invertiert, aus 0b00000101 wird 0b11111010. &= : PORTB wird mit der berechneten Maske UND-verknüpft und das Ergebnis wieder PORTB zugewiesen. Ist PORTB vorher z. B. 0b01111111, dann ist der Inhalt nach der Operation 0b01111111
-
Artikel
Wanderkiste (Widlar)
Controller/Boards, praktische ICs, neue Bauteile ((FE)T,R,C...) mal schauen was so dabei ist. 7 Hobby B. 25.02.2023 06.03.23 003404344200652675 12,7 kg 8 Martin S. 45xxx S. VFD Display, B: TTLs 9 P. 751** bzw. 970** B: Schalter, Taster, Bananenstecker/-buchsen, ICs, Verbrauchsmaterial, etc. Ich schau mal
464xx 27.04.2025 24.05.2025 DHL: 00340435040010837516 15,8 kg S: Motortreiber, Sensorik für Robbies; B: ESP32 Eval-Boards, NFC Material ... 10 Holger B. 71xxx 26.05.2025 28.05.2025 Hermes: 245147638780 15,6kg S: SMD-Bauteile, Optoelektronik, HF B: div.THT: 74LS/HCT/TL072/NE5532/MC33078, BF245B, BAT42,
-
Artikel
Drehgeber
zeigen jedoch schnell die Schwächen dieser Ansätze. Flankenerkennung von A und Pegelauswertung von B. Viele Sparvarianten verwenden einen externen Interrupt, welcher auf die steigende oder fallende Flanke von Spur A auslöst und dann den Pegel von B auswertet. Ist B=0, dann dreht der Encoder nach rechts
1 und -3 die Bewegung in eine Richtung, -1 und 3 in die andere Richtung dar. Deren Bitmuster sind 0b0…001, 0b1…101 bzw. 0b1…111, 0b0…011. Damit wird klar, dass man Bit 0 (diff & 1) als Kennzeichen heranziehen kann, dass sich in diesem Schritt überhaupt etwas geändert hat, und Bit 1 (diff & 2) als Kennzeichen
-
Artikel
Zahlensysteme
0010 3 3 3 0011 4 4 4 0100 5 5 5 0101 6 6 6 0110 7 7 7 0111 8 8 10 1000 9 9 11 1001 10 A 12 1010 11 B 13 1011 12 C 14 1100 13 D 15 1101 14 E 16 1110 15 F 17 1111 Darstellung. Hexadezimal. Hexadezimalzahlen werden meistens (z. B. in C oder im AVR-Assembler) mit dem Prefix "0x" geschrieben, also z. B.
Zahl 52 entspricht. Das gilt auch für AVR-ASM. Binär. Binärzahlen schreibt man im AVR-Assembler mit "0b" am Anfang, z. B. 0b00110100. In C-Programmen ist die direkte Eingabe von Binärzahlen nicht möglich, es lassen sich aber Makros zu diesem Zweck schreiben. Einige Compiler verfügen über eine Spracherweiterung
-
Artikel
AVR-GCC-Tutorial
sei anfangs 0b00000000. Die erste Anweisung (a) setzt Bit 0 auf 1, PORTA ist danach 0b00000001. Nun wird im ersten Teil der zweiten Anweisung der Portzustand in ein Register eingelesen (b). Unmittelbar darauf (vor
Interrupt-Routine Bit 0 von PORTA gelöscht wird. Nach Verlassen der Interrupt-Routine hat PORTA den Wert 0b00000000. In den beiden noch folgenden Anweisungen des Hauptprogramms wird nun der zwischengespeicherte "alte" Zustand 0b00000001 mit 0b00011100 logisch-ODER-verknüft (c) und das Ergebnis 0b00011101 in
-
Artikel
FPGA
benötigte Schaltungsteile fast in Hardware zu integrieren. DSP-Elemente. Für rechenintensive Designs, z. B. in der Signalverarbeitung, enthalten inzwischen praktisch alle FPGAs dedizierte Multiplizierer auf dem Chip, die in sehr kurzer Zeit, z.B. auch einem einzigen Taktzyklus, breite Multiplikationen durchführen
unterschiedlichen Taktfrequenzen zu unterscheiden: Mit einem Systemtakt von 20 MHz lassen sich z. B. 18-Bit AD-Wandler auslesen, die so z. B. alle 1 µs neue Daten liefern, die verarbeitet werden müssen. Bei der Nutzung von 5 solchen Wandlern, die sequentiell verarbeitet werden, lägen 5 MHz Datenfrequenz
-
Artikel
Optokoppler
Geschwindigkeit Bemerkung Lieferant Datenblatt 4N25 4N26 4N27 4N28 DIP6 30 — 20, 10 ton/off 2 µs (typ.) B C D DK e F U R Broadcom CT-Micro Everlight Isocom LiteOn ONSemi QT-Brightek Toshiba Vishay 4N32 4N33 DIP6, SMD6 30 — 500 100 5 µS / 100 µS B C DK F U R CT-Micro Everlight Isocom ONSemi Vishay 4N35 4N36 4N37 DIP6, DCJ6 30 — 100 100 ton/off 7 µs B C D DK e F U R Broadcom CT-Micro Everlight Isocom LiteOn ONSemi QT-Brightek Toshiba Vishay 6N135 6N136 PS8501 DIP8 20 15 30 100 1 MBit/s Dual-channel: HCPL-xx3x B C D DK F P U R Broadcom Cosmo CT-Micro
-
Artikel
Demo Gilbertzelle
weiterer Differenzverstärker, der allerdings nicht mehr binär angesteuert wird. Die Eingangsspannung U B wird an beide Verstärker B+ und B- in gleicherweise angelegt, doch bei den Kollektorzweigen erfolgt der Zusammenschluss mit den gemeinsamen Arbeitswiderständen überkreuz. Damit hat die Verstärkung von Zweig B- gegenüber Zweig B+ den gleichen Betrag bei entgegengesetztem Vorzeichen. Wenn sich nun mit der Polarität von U A zwischen den zwei Differenzverstärkern B+ und B- hin- und herschalten lässt, dann wechselt
-
Artikel
UHF-Modulator ALPS MDLP3W104A
übersprungen. Zwei weitere Pins sind "not connected" (NC) und bieten sich für eigene Erweiterungen an (z.B. externe Messung der VCO-Spannung). Die Anschlüsse sind wie folgend: 1: Video In 2: Audio In 3: MD B+ (5 V-Versorgung Modulator analog + digital) 4: NC 5: BST B+ (Versorgung Antennen-Durchschleif-Verstärker
angeschlossen werden! Die Versorgung MD B+ für den analogen und digitalen Teil des Modulators erfolgt mit 5 V +/- 0,3 V bei maximal 90 mA Stromaufnahme. Das PLL-IC MC44353 selbst ist mit 5 V +/- 0,5 V spezifiziert. Die Versorgung BST B+ des
-
Artikel
KiCad
und zuletzt geladen wird. Alternativ: Bei Änderungen einen neuen Namen für das Symbol vergeben. Z.B. durch das Pflegen eines Revisions- oder Datecode im Symbolnamen. Einfach nur die -cache.lib löschen langt möglicherweise nicht, weil diese u.U. mit alten Daten neu geschrieben wird (wenn z.b. Eeschema
PT15 Trimmer . Potentiometer Alps RK16 und Spectrol Type 148/149. Transformatoren Coilcraft Q4434-B / Rhombus T1311 sowie ETD29 von Epcos und Myrra sind auch dabei. Eurokartenstecker/-buchsen DIN 41612 Typ B1, B2, C1, C2 und C3. Ebenfalls enthalten: GNU-GPL und Creative Commons Symbole. Dazu Messpunkte
-
Artikel
Elektronikversender
verkaufen (Auch nicht über Umwege, wir sind keine Bettler oder Betrüger. Wir sind Kunden.). Also B2C, kein B2B! Bitte ergänzt nur allgemeine Sachen (z. B. "liefert immer vollständig", "günstig" oder "große Auswahl"), aber nicht Sachen wie "mein ATMega 128 hatte verbogene Beine". Bitte auch die alphabetische
oder Vorkasse Batterie24. Homepage: Günstige Ultralife & Saft Lithium Batterien sowie FGS Bleiakkus z.B. 10 Ultralife Lithium Batterien 9V Block 62,90 Euro (Stand: Juni 2019) Anwendungen: z.B. Rauchmelder, Babyphone, Garagentoröffner, Sicherheitssysteme und Alarmanlagen BAZ Spezialantennen. Homepage: Antennen
-
Artikel
Formatierung im Forum
. Manche Begriffe (z. B. „AVR“) werden automatisch in Links auf die entsprechenden Wiki-Artikel umgewandelt. Für welche Begriffe dies geschieht ist nicht genau bekannt. Daher hat diese Funktion für Verfasser von Foren-Beiträgen
z. B. mittels \text{} aufrecht gesetzt. Beispiel: [math]U_\text{Batt} = 13{,}8\,\text{V}[/math] Darstellung: Beliebiger Text kann mit dem Befehl \mbox{} eingebaut werden. Der Inhalt der geschweiften Klammern
-
Artikel
Festkommaarithmetik
Division durch Konstanten. Manchmal muss man in in einer Formel durch eine Konstante dividieren, z.B. a = b / 0.5432. Das kann man zunächst mathematisch korrekt umformen zu a = b * ( 1 / 0.5432) = b * 1.8409426. Die Divison ist identisch mit der Multiplikation des Kehrwertes. Auch hier kann man wieder
Nachkommastellen verschwunden sind oder der Fehler vernachlässigbar klein ist. In diesem Beispiel könnte man z.B. rechnen a = b * 18409 / 10000. Dabei kann man zu einem weiteren Trick greifen, um die echte Division durch 10000, welche einiges an Zeit und Programmspeicher kostet, zu sparen. Und zwar kann man anstatt
-
Artikel
CAN
bei der Portierung nach avr-gcc/avr-as). Dieser MC ist für nicht-gewerbliche Endanwender einzeln z. B. bei Reichelt, CSD und Segor erhältlich (ca. 9EUR). Beim Bestellen des MC sollte man einen CAN-BUS-Treiber gleich mitbestellen: z. B. Philips PCA82C250. Jedoch auf vorhandene Versorgungsspannungen achten
Stromsparmodus auch für 3,3V-Betrieb geeignet. Diverse C- und Assembler Beispielcodes verfügbar (z. B. bei microchip.com und kvaser, Assembler meist für PICs). Auch Software für Direktanschluss an die parallele Schnittstelle eines PC verfügbar ("bit-bang Interface"). erhältlich z. B. bei Reichelt (ca
-
Artikel
AVRDUDE
--------------------- part id = "m168p"; desc = "ATMEGA168P"; has_debugwire = yes; flash_instr = 0xB6, 0x01, 0x11; eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, 0x99, 0xF9, 0xBB, 0xAF; stk500_devcode = 0x86; # avr910_devcode = 0x; signature
------------------------- part id = "t13"; desc = "ATtiny13"; has_debugwire = yes; flash_instr = 0xB4, 0x0E, 0x1E; eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC, 0x99, 0xE1, 0xBB, 0xAC; stk500_devcode = 0x14; avr910_devcode = 0x55; ....
-
Artikel
Webby
mp3-Streams sein, ogg-Streams werden vom Webby nicht unterstützt. Ein brauchbarer Texeditor, wie z.B. Notepad+ oder Notepad++ ist notwendig, da der orginal mit Windows mitgelieferte nur den ASCII-Zeichensatz beherrscht und Linux z.B. ANSI, OTF-8 verwendet. Deine eigene radio_list.cvs wird dann zu einem
Sourcen, bzw. Patches für busybox, den Kernel, WPA Supplicant und vor Allem für die Applikationen (z.B. Radio, RSS Reader, Screensaver) verfügbar! Wichtig: Die app sourcen entsprechen nicht 100% dem aktuellen Zustand! Das fällt z.B. besonders bei den Setting auf! Die .pyc Dateien können einfach durch
-
Artikel
AVR In System Programmer
Bestell-Bezeichnung WSL 6G . Etwas Platz sparender sind die nicht verpolungssicheren 2xN Stiftleisten (z. B. 2x40), wobei man diese auf 2x3 Pole kürzt. Sechs- und zehnpolige IDC-Buchsen zum Anquetschen an ein Hosenträgerkabel (Programmierkabel) mit 1,27 mm Teilung sind mittlerweile überall erhältlich (z. B
auch Alternativen angeboten, teils recht schick im Plexiglasgehäuse für ca. 20 Euro. Angeboten z. B. als "USB 2.0 Full Speed low cost Programmer für ATMEGA Chips" oder "AVR USB ISP Programmer ATMEL ATMEGA STK500". Die Adapter funktionieren auch mit BasCom (aber auch mit AVR Studio), z. B. mit der Einstellung
-
Artikel
Porterweiterung mit SPI
74xx595 an einen SPI-Bus: Der SPI-Bus muss auf CPHA=CPOL=1 gestellt sein. Das auszugebende Bitmuster (z. B. 16 Bit im o.a. Beispiel) wird durch das erste Schieberegister hindurchgetaktet und über dessen Ausgangsspin in das zweite Schieberegister hineingetaktet. Dadurch wandert das Bitmuster sequentiell durch
Durchschiebens nicht, kann man einfache Schieberegister verwenden. Eingänge. Die Anzahl der Eingänge kann z. B. mit parallel-in/serial-out Schiebregistern des Typs 4021 erhöht werden (z. B. Philips HEF4021B). Besonders verbreitet ist heutzutage der Typ 74xx165. Alternativ kann z. B. auch ein 74xx597 verwendet
-
Artikel
Pulsweitenmodulation
langsame Anstieg der Dämpfung oberhalb der Grenzfrequenz. Genauer gesagt steigt die Dämpfung mit 20dB/Dekade. Das heisst, dass ein Signal mit der 10fachen Frequenz (Dekade) um den Faktor 10 (20dB) gedämpft wird. Will man nun eine höhere Dämpfung ereichen, müssen mehrere Tiefpässe in Reihe geschaltet
gleicher Dämpfung des Ripples auf 20mV. Die Dämpfung dieses sogenannten Tiefpasses 2. Ordnung beträgt 40dB/Dekade. Das heisst, ein Signal mit zehnfacher Frequenz (Dekade) wird um den Faktor 100 (40dB) gedämpft! Damit erzielt man hier bereits die 7fache Bandbreite! Zum Schluss muss beachtet werden, dass die
-
Artikel
Gerber-Tools
Vorschlag (Und weiter: IPC-2581 meets the Gerber File Format) der das Gerber-Dateiformat um Angaben z.b. zum Lagenaufbau erweitert. Ein Plädoyer für Gerber hält auch A.Wiemers. Grundsätzlich zählt das Gerberformat zu den Vektorgrafikformaten. Daher ist hypothetisch auch z.B. das SVG-Format geeignet, um
darin. Kann auch Drill Files einlesen. Kann Gerber- oder Drill-Files in rudimentärer Form anzeigen (z.B. OHNE Aperturen, kein Maßstab, ist somit für fast nichts zu gebrauchen). Das Programm besteht aus den drei Teilen PyGerbAnalyse_B5_13Jun2013.py, ClassDefBasicAnalysisResults_13Jun2013.py und ClassDefGerberLayer
-
Artikel
Raspberry Pi Einführung
Man ändert KEYMAP=us zu z.B. KEYMAP=de-latin1 für QWERTZ und speichert wieder mit Strg+O -> Enter und Strg+X. Zeitzone. Um die Zeitzone zu ändern muss man einen Symlink zu /etc/localtime erstellen: ln -sf /usr/share/zoneinfo/ZEITZONE
RasPi_logGPIO.sh [Liste mit GPIO-Pins] > ausgabedatei.txt Für die Pins 14, 31 und 23 sieht das Kommando z.B. so aus: ./RasPi_logGPIO.sh 14 31 23 > ausgabedatei.txt Die Aufzeichnung kann mit Strg+C gestoppt werden. Jetzt kann man die entstandene Datei (z.B. hier ausgabedatei.txt) normalisieren und ins xoscope-Format
-
Artikel
STM32
ab 1,65 V) Temperaturbereich bis 125 °C Flash-ROM: 16 KB ... 4 MB SRAM: 4 KB ... 4,2 MB EEPROM 512 B ... 16 KB (nur STM32L0 und STM32L1) SDRAM-Controller (z.B. bei den STM32F42xxx und STM32F43xxx bis 512 MByte externer SDRAM addressierbar) 512 one-time programmable Bytes (STM32F2/4) Externes Businterface
Modem Control. LPUART Controller können im STOP Modus weiter laufen I2C I²S SPI SDIO Interface (z.B. SD-Card Reader) DMA Controller CAN Unique device ID register (96 Bits) TRNG - True Random Number Generator, basierend auf analoger Schaltung Zusätzlich zur FPU weitere "Math Acceleratoren" z.B. für
-
Artikel
Datenschutzerklärung
Datenschutzerklärung von Mailchimp. Sie können Ihre Einwilligung zum Newsletter jederzeit widerrufen (z. B. über den Abmeldelink in jeder E-Mail). Forenbeiträge. Wenn Sie in unserem Forum Beiträge verfassen, speichern wir die im Formular gemachten Angaben (z. B. Benutzername, E-Mail-Adresse) sowie die IP-Adresse
personenbezogene Daten nur so lange, wie es für den jeweiligen Zweck erforderlich ist oder wir gesetzlich (z. B. handels- und steuerrechtliche Aufbewahrungsfristen) dazu verpflichtet sind.
-
Artikel
WordClock mit WS2812
Alarmzeiten (Wecker) über optionalen Mini-DFPlayer Anbindung von LED-Stripes des Typs WS2812, WS2812B, APA102 und SK6812 (RGB- und RGBW-RLEDs) Sanftes Überblenden der Uhrzeiten oder verschiedene Animationen bei Uhrzeitwechsel, z.B. "Explode" oder "Matrix" Farbanimationen, z.B. Automatischer Farbverlauf
Squeeze a = 12 Flicker F f - Farbanimation setzen f = 0 Farbanimation aus f = 1 Farbanimation Rainbow B b - Helligkeit (Britghtness) setzen b = 0 ... 15 Helligkeit L l - Automatische Helligkeitsregelung l = 0 Regelung aus l = 1 Regelung an P p - Power p = 0 Power off p = 1 Power on W - Temperaturanzeige
-
Artikel
AVR
meist 1–2 Taktzyklen dauern Taktfrequenz bis 32 MHz Betriebsspannung von 1,8 – 5,5 V Speicher 1–256 kB Flash-ROM 0–4 kB EEPROM 0–16 kB RAM Peripherie: AD-Wandler 10 bit, 8- und 16-Bit-Timer mit PWM, SPI, I2C (TWI), UART, Analog-Komparator, Watchdog 64kB Externer SRAM (ATmega128, ATmega64, ATmega8515/162
ARM-Cores. Controller der ATxmega-Serie verfügen über mehr Funktionen als die "traditionellen" AVR (z.B. DMA- und Eventsystem, 12Bit A-D-Wandler). ATxmega sind jedoch für 3,3V-Betrieb ausgelegt und ausschließlich in SMD-Bauform erhältlich. __NOTOC__
-
Artikel
Operationsverstärker-Grundschaltungen
Möglichkeiten der Beschaltung: die invertierende nach a) und die nichtinvertierende Beschaltung nach b). Berechnungsbeispiel für Schaltung b) Angenommen die Leerlaufverstärkung Vo von 40000 und eine Eingangsspannung von 0,1 Volt. Die Betriebsspannungen Vcc und Vee legen wir auf +/- 24 V fest. Damit ergibt
Operationsverstärkern wirkungsvoll unterdrückt. Die PSRR (power supply rejection ratio) weist oft Werte um 120 dB auf (bei 120 Hz, darüber fällt sie meist mit 20 dB/Dekade). Siehe auch = Kaufempfehlung = LM358 2 OPs in einem Gehäuse oder LM324 4 OPs in einem Gehäuse MCP6001/6004 CMOS OPs mit Rail to Rail Input und
-
Artikel
Wellenwiderstand
liegen zwischen 100pF und 10nF. Für Takte und Signale mit konstantem Mittelwert (Manchesterkodierung, 8B10B Kodierung) kann man den Kondensator sehr groß wählen (100nF Keramik + großen Elko). Dann lädt sich der Kondensator über mehrere Dutzend Takte auf den Mittelwert der Spannung auf und hält diese. Damit
MHz Takt?). Ausgänge sollten möglichst identische Ausgangswiderstände für LOW und HIGH haben (wie z. B. die HC-Familie), sonst wird eine Serienterminierung schwierig bis unmöglich (wie. z. B. die ABT-Familie); siehe "Input and Output Characteristics of Digital Integrated Circuits" Berechnung. Zur Berechnung
-
Artikel
NIC
also zum Beispiel 0x1234. Zahlen können auch im Binärsystem angegeben werden. In diesem Fall ist 0b voranzustellen, z.B. 0b10011100. Beispiele: 1234 ist eine Dezimalzahl 0x23AF ist eine Hexadezimalzahl 0b01010101 ist eine Binärzahl String-Konstanten. String-Konstanten werden in Anführungszeichen angegeben
F_BLUE Vordergrund blau F_MAGENTA Vordergrund lila F_CYAN Vordergrund türkis F_WHITE Vordergrund weiß B_BLACK Hintergrund schwarz B_RED Hintergrund rot B_GREEN Hintergrund grün B_BROWN Hintergrund braun B_YELLOW Hintergrund gelb B_BLUE Hintergrund blau B_MAGENTA Hintergrund lila B_CYAN Hintergrund türkis
-
Artikel
Transistor-Übersicht
Fairchild 0,04 2N3055 TO-3 60 15 20-70 115 2,5 Leistungstransistor Rei alldatasheet.com 0,54 BC107B TO-18 45 0,1 200-450 0,3 300 Rei alldatasheet.com 0,32 BC547B TO-92 45 0,1 125-500 0,9 0,625 300 Schalttransistor Rei Fairchild 0,04 BD679A TO-126 80 4 750 40 Darlington Rei alldatasheet.com 0,29 MPSA42
40 - 700 0,625 50 Es finden sich zwei unterschiedliche Anschlussbelegungen. Komplementär C945 BC327B PNP CBE -0,8 -50 160 - 400 BC557B PNP CBE -0,1 -50 Der populärste der nahezu identischen Transistoren BC556, BC557, BC558, BC559, und BC560. Sie unterscheiden sich hauptsächlich in der Spannungsfestigkeit
-
Artikel
Strukturierte Programmierung auf Mikrocontrollern
Kleinbuchstaben; Worttrennung mit Unterstrich oder CamelCase (jede Wortsilbe beginnt mit einem Großbuchstaben, z.B GetInfo, MaxCount etc.) Namen wie i, j, k für Indizes für Zählschleifen Variablen wie x, y, z für Positionen Bei Arrays z.B. einkaufsPreis[i] oder einkaufsPreis[index] verwenden. i bzw. index sind übliche
Spaghetticode; Werden in der Berechnung Konstanten verwendet, dann am besten einen Kommentar dazu (z. B. b = a*3.6e6 // 3.6e6 ist Millisekunden pro Stunde) Statt ?: am besten Verzweigungen verwenden, da dieser oft nicht bekannt ist und auch nur noch selten verwendet wird. Leerzeichen und Leerzeilen kosten
-
Artikel
AVR-GCC
Binutils, AVR-LibC und avrdude. Evtl. reicht einfach ein Update auf neuere Software-Versionen (z. B. im jeweils aktuellen WinAVR-Packet). inp(), outp(), sbi() und cbi() werden in der aktuellen Bibliotheksversion nicht offiziell unterstützt (man muss eine spezielle Header-Datei einbinden(deprecated.h
"d" (globale bzw. lokale Daten mit Initialisierungswerten im ROM) betreffen das FLASH-ROM. Typen "B" und "b" brauchen ausschließlich RAM (werden beim Start mit 0 initialisiert). (vgl. Forenbeitrag von Jörg Wunsch) Mit dem Tool avr-size erhält man eine Übersicht über den Platzbedarf in den text, data
-
Artikel
Multitasking
System immer damit gerechnet werden, dass ein Prozess jederzeit unterbrochen werden kann. Das kann z. B. zu Problemen beim Zugriff auf limitierte Betriebsmittel führen. Beispiel: Prozess A sucht freien Speicher und findet einen freien Block Prozess B wird vom Scheduler gestartet und sucht ebenfalls einen Speicherblock. Der gefundene Block wird von Prozess B reserviert und benutzt Der Scheduler teilt wieder Prozess A die CPU zu. Prozess A wird fortgeführt, d.h. er reserviert jetzt den im letzten Systemcall gefundenen Speicherblock Jetzt haben also beide
-
Artikel
Platinenherstellung mit der Photo-Positiv-Methode
Transparentpapier gute Ergebnisse. Voraussetzung ist eine hohe Auflösung. Mit einem Laserdrucker (z.B. Kyocera-Mita FS1020D oder HP LaserJet 1010, Auflösung 1200x1200 dpi) sind auf Transparentpapier Leiterbahnen mit 0.4 mm (und weniger, z.B. 10 mil) Breite problemlos möglich! Normalpapier. Wenn nur bedrahtete
drucken. Das Layout wird mit einer Glasplatte gegen die Photoschicht gedrückt. Dazu eignen sich z.B. die dünnen Gläser, die in Bilderrahmen benutzt werden. Man sollte die Folie fest gegen die Platine pressen (natürlich auch wieder nicht zu fest, sonst springt das Glas), sehr gut eignen sich kleine
-
Artikel
Fehlersuche
reproduzierbar zu machen. Sporadische Fehler sind sehr gefährlich und sehr schwer lokalisierbar, wie z.B. Hardwarefehler Wackelkontakte Haarrisse Risse durch mechanische oder thermische Spannungen oder Softwarefehler wie nichtatomare Zugriffsfehler auf Variablen in Interrupts Variablenüberläufe, welche
zu messen, z.B. Interruptroutinen. Zum Beginn setzt man ein Pin auf HIGH, am Ende auf LOW, das kann man dann sehr einfach mit einem Oszilloskop messen Ebenfalls kann man mit so einem Testpin den Anfang eines speziellen
-
Artikel
Spannungsteiler
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
besonders dann wichtig, wenn die Belastung eines Spannungsteilers nicht genau bekannt ist, weil z.B. der Rin eines Chips nur auf 10% bekannt ist. Die klassische Behandlung solcher Unsicherheiten besteht darin, den vorgeschalteten Spannungsteiler entsprechend niederohmig auszulegen. Fließt dort z.B.
-
Artikel
8bit-Computer: bo8h
steht für einen auf der Grundlinie liegenden Bindestrich. Der Akku A und das Erweiterungsregister B sind 8-bit, ebenso das Data-Register D. Das Doppelregister AB wird abkürzend mit K bezeichnet. Das Vorzeichenbit A7 wird abkürzend mit U bezeichnet. Der Programmzähler P und die Adressregister X, Y,
. STMX speichert A in der Speicherzelle, auf welche X zeigt. IXE inkrementiert X und tauscht A und B. DXE dekrementiert X und tauscht A und B. Damit lassen sich 2-byte-Speicherzugriffe aufbauen nach dem Muster GTMX..IXE..GTMX und STMX..DXE..STMX. Es gibt hierfür die Assembler-Makros GTMXI und STMXD
-
Artikel
AVR-Tutorial: UART
Betrachten der Listingdatei feststellen kann. Zum Empfang muss auf dem PC ein Terminal-Programm wie z. B. PuTTY gestartet werden. Der nebenstehende Screenshot zeigt, welche Einstellungen im Programm vorgenommen werden müssen. Linux-Benutzer können das entsprechende Device (z. B. /dev/ttyS0 ) mit stty konfigurieren
passieren, dass die Situation eintritt, dass das empfangende Gerät nicht mehr mitkommt. Das kann z. B. dadurch passieren, dass das empfangende Gerät selbst etwas Zeit für die Bearbeitung der Daten benötigt. Man denke z. B. an die Situation, dass an ein Modem Daten übertragen werden. Das Modem muss diese
-
Artikel
AVR-Tutorial: Equipment
und viele Erweiterungsmöglichkeiten bietet. Siehe: Arduino. Die Boards der Arduino-Familie bieten z.B. einen ATmega328P mit 16MHz und lassen sich über einen integrierten USB-seriell-Wandler und Bootloader programmieren. Die Ports sind auf Buchsenleisten herausgeführt. Arduino-Boards können auch unabhängig
Handvoll Bauteile. Wie man das macht wird im Folgenden beschrieben. Steckbretter (Breadboards) gibt's z. B. bei Reichelt, ELV oder Conrad. -Verbindung weicht von den ATMEL-Angaben ab! Wenn ATMEL oder ATMEL-kompatible ISP-Adapter benutzt werden, die Pinbelegung aus Application Note AVR042 (PDF) bzw. AVR In
-
Artikel
AVR-GCC-Tutorial/Assembler und Inline-Assembler
wird und durch Inlining mehrfach in der Assembler-Ausgabe erscheint. Gesprungen wird jeweils zurück ( b ) oder vorwärts ( f ) zum nächsten auffindbaren Label. Das "+w" wird als Inline-Assembler Constraint (Nebenbedingung) bezeichnet und legt fest, wie der Compiler mit dem Ausdruck count umzugehen hat.
, hier "zaehler" genannt, zuerst im C-Code als Global definiert werden, z. B. so: Im folgenden Assembler-Beispiel wird der Externe Interrupt0 verwendet, um den Zähler hochzuzählen. Es fehlen die Initialisierungen des Interrupts und die Interrupt-Freigabe, so richtig sinnvoll
-
Artikel
RFM69
Ausgangsleistung. Das RFM69C hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B. Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. Viele Module haben noch die Endung "W": "Note: This module is the Chinese distribution
Module RFM69W und RFM69CW basieren auf dem SX1231 von Semtech (Pin PA_BOOST fehlt, deswegen nur +13dB) Module RFM69HW und RFM69HCW basieren auf dem SX1231H von Semtech == Vergleich zum RFM12B == RFM12B RFM69(C)W Versorgungsspannung 2,2 - 3,8 V 1,8 - 3,6 V Max. Datenrate 115,2 kbit/s 300 kbit/s Sendeleistung
-
Artikel
Miniwebserver
für GPIOs auf 38x31mm². I/O. OpenMCP. Platine 100mm x 80mm Microchip ENC28j60 ATmega2561 mit 128 kB Flash und 8 kB SRAM Pfostenstecker für eigene Erweiterungen Eigener TCP/IP-Stack mit TCP,UDP,ARP,ICMP. Socketbasiert, mehrere Verbindungen gleichzeitig möglich HTTP-Server mit CGI-Support SNTP, DHCP,
Zum Fernsteuern und Abfragen von Sensoren Reines Firmware Projekt Läuft auf ATmega und Xmega ab 64kB + CP2201 Ethernet Controller Basiert auf uIP von Adam Dunkels TCP/IP v4, UDP, ARP, ICMP, DHCP Client, HTTP Server, SMTP Client, IP-Socket (Telnet) Webserver mit dynamischen und statischen Seiten im Flash
-
Artikel
Richtiges Designen von Platinenlayouts
Fiducials) nötig. Diese Passermarken werden normalerweise als Kreuze oder besser als runde Pads (z.B 1mm) ausgeführt und von Kupfer freigestellt (2mm, Nicht in die Masseflächen einbeziehen). Die Passermarken werden dann von Lötstop freigegstellt und in der Lotpastenschablone (engl. stencil) mit eingebracht
beiden Potentialen. Die Luft- und Kriechstrecken betragen zwischen 3 und 8 mm. Maximale Spannung z.b. 3kV/cm, bei lackierten Platinen 10kV/cm. Möglichst eine großflächige Ground-Plane für Masseverbindungen. Grundsätzlich gilt immer: So einfach wie möglich, so komplex wie nötig. Das bedeutet, daß man
-
Artikel
FIFO
was deutlich an CPU-Leistung spart. Ein derartiger Blockzugriff spart auch Zwischenspeicher, wenn z.B. eine Funktion zum Schreiben von Daten auf SD-Karte direkt auf diese zugreifen kann, ohne dass sie weiß, dass diese in einem FIFO stecken! Doch Vorsicht, so einfach ist es nicht! Denn unser FIFO ist
einzelnen zusammenhängenden Puffer brauchen, damit unverändert wiederverwenden kann. Das könnte dann z.B. so aussehen: Weblinks. Circular buffer, englische Wikipedia UART-Bibliothek mit FIFO, von Peter Fleury FIFOs bei Renesas Memory-mapped Ringbuffer
-
Artikel
Projekt: Labornetzteil
Interaktion mit dem Benutzer zuständig. Nebenbei soll sie noch mit anderer digitaler Hardware (z. B. PC) interagieren koennen. Dazu werden folgende Schnittstellen benoetigt: LC-Display: Dieses ist zum Anzeigen von Informationen nötig. Es wird ein HD44780-Kompatibles Display eingesetzt. (Alternativ
Weiterhin muss es eine Möglichkeit geben, die Kontrolleinheit über Statusänderungen zu informieren (z. B. kurzgeschlossener Ausgang, Überhitzung etc.). Die Slaves sollen im Grunde auch alleine Arbeiten und von der Kontrolleinheit nur Sollwerte bekommen bzw. Istwerte zu dieser senden. Im Industriebereich
-
Artikel
Digitaler Rauschgenerator im FPGA
umschaltbar ist. So liegen beispielsweise einmal 7 und einmal 9 inverter in der Kette, bei dem anderen z.B. 11 oder 13. Jeder der beiden Oszillatoren treibt einen eigenen Zähler an, der bis 13 bzw. 27 zählt. Das jeweilige höchste Bit des Zählers wird zum Umschalten der Kettenlänge des anderen Oszillators
werden in der Bildverarbeitung zur Verbesserung der Bildqualität eingesetzt, indem z.b. mittels der "salt and pepper"-Methode Kanten infolge von Abtastungsartefakten geglättet werden. Beiträge zum Thema. Noisegenerator im FPGA Pseudozufallsgenerator mittels VHDL Rauschgenerator in VHDL
-
Artikel
Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232
Debian am besten auf eine mSATA-SSD (gibt es gebraucht für unter 10€) und steckt die Datenplatten (z.B. im RAID1-Verbund) an die SATA-Ports. Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten landeten danach wohl viel zu früh im Müll. Unter Debian Bookworm läuft der Soekris
mit ELTS sogar bis Sommer 2033! Wenn das Teil nicht direkt mit dem Internet verbunden ist, wenn es z.B. als lokales Heim-NAS läuft, dann ist das mit den Updates sowieso unwichtig. Der Soekris läuft dann einfach jahrelang mit einer älteren Debian-Version - niemand merkt's, niemanden stört's. Achtung: Das
-
Artikel
Statemachine
sich der Folgezustand aus der Kombination des momentanen Zustands und einem externen Ereignis, z. B. einem Tastendruck oder einem Signal aus anderen Bereichen der Software. Dabei wird die Maschine oftmals in verschiedenen Zuständen nur für ganz bestimmte Ereignisse sensibel gemacht. Die FSM selbst
Tabellenform festgelegt, dann ist es sehr einfach daraus ein Programm in einer Programmiersprache wie z.B. C abzuleiten, welches diese Statemachine implementiert. Kochrezeptartig kann man dabei folgenden Aufbau vornehmen: Es gibt eine globale Variable, die den aktuellen Zustand der Maschine repräsentiert
-
Artikel
Allgemeinzuteilung
werden Leistungsregelung: Ziel ist es, im Mittel eine durchschnittliche Reduzierung der Leistung um 3 dB zu erreichen; wird ohne Leistungsregelung gearbeitet, müssen die Grenzwerte 3 dB niedriger angesetzt werden Dynamische Frequenzwahl: damit soll ein Gleichkanalbetrieb mit Radarsystemen vermieden werden
Schutzbereichen für die Sender MSF, RBU, HBG, DCF77 und DCF49; siehe Vfg. 1/2010 ) Pegelabsenkung um 3 dB/Oktave für Frequenzen oberhalb 30 kHz (d. h. maximal 69 dBµA/m bei 59,75 kHz, 68,5 dBµA/m bei 70 kHz, 65,8 dBµA/m bei 127 kHz)