-
Artikel
Der Multiplex Sensor Bus (MSB)
wird dabei ein Sensor konfiguriert, in dem man jedem Wert, den der Sensor darstellen kann, eine Adresse (von 0 bis 15) zuordnet. Der Wert dieses Sensors wird dann am Senderdisplay bei dieser Adresse angezeigt. Natürlich darf jede Adresse nur einmal vergeben werden, somit ist die Anzeige von 16 verschiedenen
welcher Höhe und Vario ausgibt. Der Master fragt reihum alle 16 Adressen ab, in dem er alle ca. 6 ms eine Adresse (0-15) auf dem Bus sendet. Alle Sensoren empfangen dieses Byte. Der Sensor welcher auf diese Adresse konfiguriert ist, antwortet auf die Anfrage mit einer
-
Artikel
Bootloader
folgende nachdem er die Rücksprungadresse auf dem Hardwarestack abgelegt hat. Der Interruptvektor auf Adresse 0x0000 ist im µC fest verdrahtet und kann nicht überschrieben werden. 0x0800 ist für Interrupts im µC nicht vorgesehen. Somit müssen Interrupts von 0x0008 auf 0x0808 und von 0x0018 auf 0x0818 bei
kann in globalen Variablen erfolgen. Die Variablen müssen im Bootloader und im Nutzerprogramm auf festen Adressen angelegt werden um konkurrierenden Zugriff durch andere Speicherinhalte im gemeinsamen RAM zu vermeiden. Diese Variante wird hier erstmal nicht wiedergegeben. Die Interrupt-Weiterleitung mit
-
Artikel
HD44780
gebracht werden. Benachbarte Zeichen haben im DDRAM nicht zwangsweise auch aufeinanderfolgende Adressen. So ist etwa bei 1×16-Displays (1 Zeile, 16 Zeichen) oft in der Mitte des Displays ein Adresssprung von 0x07 auf 0x40; bei 2×16-Displays ist der Sprung auf 0x40 normalerweise (programmiererfreundlich
0 1 D C B Cursor/Display schieben 0 0 0 0 0 1 S/C R/L X X Funktionen 0 0 0 0 1 DL N F X X CGRAM-Adresse setzen 0 0 0 1 CGRAM-Adresse DDRAM-Adresse setzen 0 0 1 DDRAM-Adresse Adresse/Status lesen 0 1 BF CG-/DDRAM-Adresse Daten in DDRAM/CGRAM schreiben 1 0 Daten Daten aus DDRAM/CGRAM lesen 1 1 Daten +
-
Artikel
Plattformunabhängige Programmierung in C
Basistyp für kleine Zahlen, der auf allen Plattformen effizient verarbeitet wird. C99-Integer mit fester Breite. Um diesen Problemen zu begegnen, wurden im C99-Standard Integer-Typen mit fester Breite definiert. Um sie zu nutzen, muss inkludiert werden. {| class="wikitable" style="width:20em; text-align:center" + Integer mit fester Breite Breite [Bit] Signed Unsigned 8 int8_t uint8_t 16 int16_t uint16_t 32 int32_t uint32_t 64 int64_t uint64_t Diese Typen sind exakt so viele Bits breit, wie ihr Name verspricht. Sie sind Mittel
-
Artikel
AVR Bootloader in C - eine einfache Anleitung
Interrupt-Vektoren. Interrupt-Vektoren sind Einsprungpunkte der Interrupts, welche normalerweise fest ab Adresse 0x0001 im Flash liegen. Wird ein Interrupt ausgelöst, springt der AVR automatisch zu der festen Flash-Adresse. Von dort aus - wenn eine ISR programmiert ist - springt der Controller zur ISR
; 1 1876: 95 bf out 0x35, r25 ; 53 MCUCR = temp | (1 Wir erkennen, dass die Sektion .text ab der Adresse (VMA) 0x1800 beginnt. Weiter sehen wir im Disassembly der Sektion .text, dass unser Programm mit der Interrupt-Einsprungstabelle ab Adresse 0x1800 beginnt. Unsere main() beginnt ab Adresse 0x186C.
-
Artikel
Mikrocontroller Vergleich
Port kann mehrere Bits gleichzeitig interrupt-fest schalten. PIC, 8051, MSP430, R8C/M16C, Z8e können AND/OR/XOR zum Port hin, daher ist bei geeigneter Programmierung das Problem auch ohne Abschalten der Interrupts vermeidbar. Leider ist beim R8C/M16C/M32C die Adresse für das Port input Register mit der Adresse für das Port output Register identisch. Ein read/modify/write auf das Port output Register kopiert also bei Pins die auf Eingang stehen den eingelesenen
-
Artikel
MenuDesigner
gebunden Grafischer Editor für Linux und Windows Benötigt 5KB Flash (bei einem ATMega8 und 16Bit Adressen) Auch als PC Programm testbar Sehr geringer statischer RAM Verbrauch (allerdings durchaus etwas mehr Stack) Der Sourcecode steht unter der GPL, der auf der Mikrocontroller benötigte Code steht unter
beliebigem wahlfrei lesbarem Speicher Die Menüstruktur darf bis zu 16MB groß werden (24/32 Bit Adressen) oder 64KB bei 16 Bit Adressen Die Navigation innerhalb des Menüs ist auf eine Bedienung mit wenigen Tasten optimiert. Alternativ kann auch eine Maus oder ein Touchscreen verwendet werden (die Liste
-
Artikel
TEA6420
steht (nur im DB von 1996) auch, dass C1 bis C18 4,7 µF sein müssen. Der Anschluss "SW" ändert die Adresse. Und egal wie fest der TEA6420 in einem Breakout Board sitzt, man sollte ihn wirklich anlöten. Ansteuerung. Hier wird's knifflig. Es fängt an mit der Adresse; laut Datenblatt ist die (je nach SW):
Binär Hex Nicht verbunden / 50kΩ Pull-up 1001 1010 0x9A Masse 1001 1000 0x98 Allerdings sind I 2 C-Adressen nur 7 bit lang. Der letzte Bit sagt aus, ob gelesen oder geschrieben wird. Die "richtigen" Adressen sind also: SW/ADDR Pin Binär Hex Nicht verbunden / 50kΩ Pull-up 100 1101 0x4D Masse 100 1100 0x4C
-
Artikel
USB-Tutorial mit STM32
Den -Operator überladen wir, um den Zugriff zu vereinfachen: Wenn wir jetzt der Peripherie eine Adresse im Pufferspeicher mitteilen möchten, müssen wir die Adresse aus Peripherie-Sicht angeben. Wenn wir die Adresse einer solchen Variablen per &-Operator abfragen, erhalten wir aber die Adresse aus Prozessor-Sicht
Peripherie von einer vorherigen Verbindung noch eine Adresse eingestellt hat. Außerdem wird das "USB_DADDR_EF"-Bit gesetzt, um das Peripherie-Modul endgültig einzuschalten. Dann wird die Anfangsadresse unseres Empfangspuffers EP0_BUF in eine Adresse in Peripherie-Sicht
-
Artikel
8bit-Computer: bo8h
GTMX und STMX..DXE..STMX. Es gibt hierfür die Assembler-Makros GTMXI und STMXD . GTMXI lädt eine Adresse von Position X ST.Y überträgt die Adresse nach Y GTMXI lädt eine Adresse von Position X AD.X addiert X ST.Y überträgt die zu X relative Adresse nach Y J.. Sprung zu der Adresse, welche in K steht
selben Adresse springen. Die dortige Routine kann durch Auswertung von R die Nummer des O.WY-Befehls ermitteln. Adressierung mehrerer 64K-Seiten: Zu jeder auf dem Adressbus ausgegebenen Adresse wird auf den Steuerleitungen
-
Artikel
I²C
der Daten senden oder empfangen möchte, den Bus und gibt die (7-bit- bzw. 10-bit-)Adresse des Slaves aus, mit dem er kommunizieren möchte. Nach der Adresse teilt der Master dem entsprechenden Slave mit, ob er Daten senden oder empfangen möchte. Danach werden die eigentlichen Daten (entweder
8-bit) von Microchip MCP23017(16-bit) von Microchip I2C MUX, zum Anschluss von ICs mit gleicher, fester Adresse PCA9545A AD-Wandler 12x12 Bit ADC MAX1238 12x10 Bit ADC MAX1138 MAX127 und MAX128 von Maxim, 12bit x8, PDIP24+SSOP28 12x8 Bit ADC MAX1038 DA-Wandler TDA8444, 8x6Bit Uhrenbausteine MCP7940N
-
Artikel
AVR TWI
ein Stop sendet oder einen wiederholten Start durchführt. SLA +R --> Adresspaket mit einer Slave-Adresse und einem Lese-Bit SLA +W --> Adresspaket mit einer Slave-Adresse und einem Schreib-Bit Das höchstwertige Bit wird prinzipiell zuerst übertragen (MSB: Most Significant Bit). Die Slave-Adressen können
aufgeweckt" werden, wenn er von einem Master adressiert wird. Ein weiterer Bestandteil des TWI ist die "Adress Match Unit". Diese überwacht, ob die empfangenen Adress-Bytes mit denen im TWAR (TWI Adress Register) übereinstimmen. Wenn TWGCE (TWI General Call Recognition Enable) in TWAR gesetzt ist, werden alle
-
Artikel
Monitorprogramm Bamo128
Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden 'g' - Start eine Programms auf Adresse. 's' - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt) 'x' - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt) 'b' - Breakpoints setzen/löschen 'u' - Disassemblieren ab
Bootsection (0x3800 - 0x3FFF), deswegen wurde hier der Beginn des Monitors auf 0x3000 gelegt und auf der Adresse 0x3800 (Startadresse nach Reset) im Monitor ein Sprung zu 0x3000 eingebaut (besser "eingebastelt", weil wohl der Linker mit mehreren Codesegmenten auf festen vorgegebenen Adressen nicht richtig klar
-
Artikel
NanoVM
Stacks (s.u.) deutlich werden, ist der Heap-Speicher so organisiert, dass er immer von den höheren Adresse her belegt wird. Jedes neue Objekt wird an der höchstmöglichen freien Adresse belegt und freier und frei werdender Speicher an der niedigsten Adresse gesammelt. Garbage Collection. Die Heap-Verwaltung
Position im Speicher ändern können, muss bei der Arbeit mit dem Inhalt eines Blockes regelmässig die Adresse neu bestimmt werden. Die Adresse des Inhaltes eine Blockes stellt der Heap auf Anfrage zur Verfügung. Es muss aber sichergestellt sein, dass die Adresse nicht über Momente hinaus verwendet wird, in
-
Artikel
STM32 - Einstieg mit Em::Blocks
passende System View Description-Datei (*.svd), die die verschiedenen Register beschreibt (Name, Adresse, usw..). In Em::Blocks gibt es dazu ein Tool, womit man solche Dateien herunterladen und verwenden kann. Um sich nur die Core-Register anzusehen / zu bearbeiten braucht man keine SVD-Datei. Debug
anlegen: 2. Um die neue Section zu verwenden benutzt man diesen Define: Beim Debuggen stellt man fest, das die Variable an der Adresse 0x10000000 liegt, der ersten Adresse das CCRAM's. Booten aus dem SRAM. STM32 Controller haben die Möglichkeit Code aus dem Flash als auch aus dem SRAM auszuführen. Um
-
Artikel
NRF24L01 Tutorial
eingestellt und keine weiteren Empfangsadressen gesetzt. Das funktioniert weil beim Sender zwar Adressen konfiguriert wurden aber die Default-Adressen verwendet wurden. Man könnte sich für dieses Beispiel die Definition der Adressen beim Sender sparen und auch dort eine sehr verkürzte Konfiguration verwenden
. es wird zwar eine Payload erkannt und das Flag gesetzt aber diese ist nur Datenmüll. Adressen wie 0xaa oder 0x55 sind nicht zu empfehlen. Nachrichten an den Autor: PuraVida Einzelnachweise.
-
Artikel
Benutzer Diskussion:Dualcorez80
I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; //Sendet nach erhalt eines Datenbytes oder der eigenen Adresse ein ACK I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; //legt die Bitlänge der eigenen Adresse im Slave-Mode fest I2C_InitStructure.I2C_ClockSpeed = 100000; I2C_InitStructure.I2C_OwnAddress1
I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2; //legt das Verhältnis von low zu high ab 100kHz fest (=2/1) I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; I2C_Init(I2C1, &I2C_InitStructure); I2C_Cmd(I2C1, ENABLE); gdmgraphics_print("Generate Start", 10, 40, BLACK, WHITE, FONT_7x11); I2C_GenerateSTART(I2C1
-
Artikel
SPS mit ATmega
Komplexität gering zu halten, besteht jeder Programm-Befehl aus 2 Bytes; einem Opcode und einer Adresse. Als Ergebnis-Zwischenspeicher wird ein Akkumulator-Register benutzt. Operationen, die 2 Operanden verarbeiten benutzen als zweiten Operanden ebenfalls den Akkumulator. Alle Operationen werden auf
Operanden- und Adress-Makros. In Wirklichkeit ist das Programm eine Deklaration eines Byte-Arrays was im EEProm abgelegt wird. Zum Einspielen eines neuen SPS-Programmes reicht es also, das EEProm des ATmega neu zu beschreiben
-
Artikel
Binäre Daten zum Programm hinzufügen
zum Projekt hinzu gelinkt. Vorteile: Keine zusätzliche Datei nötig Keine manuell zu verwaltende Adresse Nachteile: Nicht komplett portabel. Der Aufruf von objcopy ist je nach System immer etwas unterschiedlich. Unhandliche Symbolnamen, mögliche Lösung siehe unten Nicht typsicher Daten müssen zum Zeitpunkt
allerdings nicht mehr über einen symbolischen Namen auf die Daten zugegriffen werden sondern es muss mit festen Adressen gearbeitet werden. Beispiel für eine Datei, die in die finale Intel-HEX-Datei beim Offset 0xF000 eingefügt wird. srec_cat myprog.hex -intel my_data.bin -binary -offset 0xF000 -output my_output.hex
-
Artikel
CAN Bibiliothek für AT90CAN Prozessoren
Adressraums definiert werden. Im hier erläuterten Beispiel wurde das folgende Konzept gewählt: Normale Adressen (11-Bit Werte) werden in zwei Zonen zerlegt: die oberen 3 Bits bestimmen eine Adress-Familie, die unteren 8 Bits unterscheiden spezifische Adressen innerhalb einer Familie, das oberste der 3 Bits
sind Paare von Filtern (je ein Filter mit hoher und mit niedriger Priorität) für die Gruppen mit Adressen der Familie MG_BROADCAST und MG_MODIFY, alle verwenden normale Adressen. Das fünfte Filter verwendet erweiterte Adressen und dient dem Empfang von Nachrichten nur für den betroffenen Prozessor (CPU_ID
-
Artikel
Remote IRMP
übertragen: Byte 1: 'S' als Kommmando "Send" Byte 2: IRMP-Protokollnummer Byte 3: Upper Byte der IRMP-Adresse Byte 4: Lower Byte der IRMP-Adresse Byte 5: Upper Byte des IRMP-Kommandos Byte 6: Lower Byte des IRMP-Kommandos Byte 7: IRMP-Flag Antwort: Byte 1: 'S' Byte 2: '+' im Erfolgsfall oder: Byte 1: 'S'
können etliche Parameter angepasst werden. Hier die wichtigsten Einstellungen: ipserver.c Als MAC-Adresse (MAC_ADDRESS) wählt man beim Arduino Ethernet Board am besten die aufgeklebte MAC-Adresse. Dann kann es nicht zu Konflikten kommen. Die IP-Adresse (IP_ADDRESS) sollte an das lokale Netzwerk angepasst
-
Artikel
Diskussion:Entwicklung eines Motorsteuergerätes für den Trabant
. Also danke nochmal für den Hinweis und den Link. Zunächst halte ich aber an meiner alten Agenda fest und will erstmal HFM5, Lambdasonde und Drehzahlerfassung sauber zum Laufen bringen. Das ganze will ich auch gut aufzeichnen können. Dann kann ich erstmal ein paar Erkenntnisse gewinnen, bevor ich mir
dich entscheiden, welches du lieber magst (siehe unten). Und natürlich bräuchte ich auch noch deine Adresse für den Versand. Sobald ich weiß, welches Kit es sein soll und deine Adresse habe, veranlasse ich alles weitere. XMC4400 Motor Control Kit Oder XMC4500 Automation Kit#1 Viele Grüße aus Neubiberg 8
-
Artikel
POV-Globe mit XMC2Go
nicht die angezeigte Spalte, ähnlich wie z.B. beim HD44780-Protokoll). Hier wird ACK und die neue Adresse ausgegeben Read. Gibt ein ACK und die komplette Bildspalte, auf die die Ram Adresse gerade zeigt, zurück als 16 bytes Write. Nimmt 16 byte entgegen und schreibt sie an die aktuelle Ram Adresse. Beide Funktionen zählen die RAM-Adresse automatisch hoch, sodass kein extra Befehl dafür nötig ist. ScrollCW,Off,CCW: Setzt den Scrolling Modus, also ob sich das Bild langsam über den Globe dreht auf Uhrzeigersinn, aus, Gegenuhrzeigersinn
-
Artikel
Audio-DSP mit Spartan 3-FPGA
werden ) - ESC 0x01 (FPGA deselektieren) Beispiel, um in den Programmspeicher des Audioprozessors an Adresse 0x0010 das Langwort 0x12233445 zu schreiben: - ESC 0x00 (FPGA selektieren) - 0xf1 (DAP selektieren) - 0x00 (Speicher schreiben) - 0x00 - 0x10 (Adresse 0x0010 -> PMEM-Adresse 0x010) - 0x12 (Adresse 0x0010 -> 0x12) - 0x23 (Adresse 0x0011 -> 0x23, autoincrement) - 0x34 (Adresse 0x0012 -> 0x34, autoincrement) - 0x45 (Adresse 0x0013 -> 0x45, autoincrement) - ESC 0x01 (FPGA deselektieren) Auslesen der 8 Schalter: - ESC 0x00 (FPGA
-
Artikel
Konzept für einen ATtiny-Bootloader in C
Der Opcode dafür ist ein Wort (2 Bytes), der aus 0xC000 und der relativen Adresse im Flash gebildet wird. Diese Adresse ist eine Wort-Adresse, d.h. sie hat lediglich den halben Wert, den man erwarten würde. Das liegt daran, dass die Flash-Adressierung der AVRs wortweise - also
BootReset-Section liegt: Hier wird also ein Sprungbefehl gespeichert, nämlich RJMP plus relative Adresse (Wort-Adresse = halber Wert der Byte-Adresse!). Das ganze muss noch um 1 vermindert werden, da der Programmzähler des µCs nach Lesen des Befehls schon um 1 Wort weitergesprungen ist. Wir haben hier
-
Artikel
C-Control
direkte Parameterübergabe zwischen Basic und Assembler ist nicht möglich; es müssen Basic-Variablem auf feste RAM-Adressen definiert werden, die dann in Assembler gelesen bzw. beschrieben werden können. Weiterhin steht der Hauptteil des freien Flash-Speichers ab $d800 nur Basic-Programmen zur Verfügung, für
Übertragungsprotokoll erlaubt direkt anschließend an ein Basic-Programm, ein Assemblermodul an die Adresse $fd00 zu übertragen, dessen Quelle auch die unverschlüsselte Basic- "Binär"-Datei sein kann. Dies erlaubt zum Einen, beliebigen Code zu übertragen, zum Anderen auch die Adressen $fd00 bis $fd08 zu
-
Artikel
Mini2440
Software und stellt diese auf Englisch um, oder aber man klickt sich blind zu der Stelle, an der man IP Adresse, Gateway und Netzmaske angeben kann. Etwa genauso einfach sieht es über die Konsole aus. Die folgenden drei Zeilen, dürften das soweit bewerkstelligen, dass das Netzwerk-Device die IP-Adresse 192.168.0.55
versorgt, welche das Board liefert, SDA und SCL natürlich ebenfalls anschliessen. Ich habe alle drei Adress-Pins auf L gelegt und erhalte von i2cdetect so die Adresse 0x38. SPI. PWM. onboard buzzer. ADC. Touchscreen. Wenn der Kernel-Treiber installiert ist, kann der Touchscreen wie z. B. jede Maus über das
-
Artikel
C vs C++
zu Ergebnissen führt, deren Performance vergleichbar zu einfachen Variablen auf dem Stack oder an festen Adressen ist. Fußangel-Beispiel 2. Manchmal wird ein einfaches "hello, world"-Programm in C und eines in C++ auf einem PC kompiliert und die Größe des erzeugten Executables als Kriterium für den Ressourcen-Bedarf
zur Lösung des Problems einen Funktionszeiger eingesetzt hätte (oder in Assembler eine Einsprung-Adresse in Maschinencode hinterlegt oder übergeben hätte). Werden Methoden in C++ unnötigerweise "virtual" deklariert (mit anderen Worten: steht die Einsprungadresse immer fest und hätte insofern auch der
-
Artikel
Cortex-M3
aktuellen Privilegien. Vektortabelle. Die Vektortabelle beinhaltet echte Sprungadressen. Die erste Adresse in der Sprungtabelle ist der Stackpointer, der bei einem Reset geladen wird. Die zweite Adresse ist die Resetadresse. Control-Register. Bit 0 Durch ein gesetztes Bit wird der Prozessor in Ausnahmen
entspricht dem Bit 1 0x22000008 Bit 2 0x22000020 entspricht dem Bit 0 von 0x20000001 usw. Bit-Band-Adresse = Bit-Band-Basis + (Byte-Offset × 32) + (Bit[0-7] × 4) 0x22000020 = 0x22000000 + 1 × 32 + 0 × 4 Beim Zugriff zählt nur das unterste Bit im schreibenden und lesenden Zugriff. Ein Schreiben auf Adresse
-
Artikel
CP/M 2.2 Selbstbaurechner (Z80) mit AVRs für externe Peripherie
für ‚A’) an E/A Adresse $00 geschrieben. Die E/A Adresse steht für die Konsole (am Anfang ist das der serielle Port). Nun ging es daran, eine ISR auf dem ATmega32 für den INT0 (IOREQ Pin) zu implementieren. Beim Auftreten
Funktion für diese E/A Adresse aufgerufen, und bei einem Lesezugriff die Daten am Datenbus ausgewertet oder beim Schreibzugriff entsprechend die Daten am Datenbus gesetzt (s. Z80V1.asm/ bus_isr_int0). Für E/A Adresse $00 bedeutet
-
Artikel
Scheduler mit Erweiterung zum Mini-Betriebssystem
speichern und laden. Des Weiteren gibt es einen Stack-Pointer. Dieser zeigt immer auf die letzte Adresse im Stack. Der Stack baut sich von einer Speicherzelle aus nach unten auf. D.h., wenn ein Wert auf den Stack geschrieben wird, verringert sich die Stack-Adresse. Jedes Programm schreibt und erstellt
Einsprung-Adresse etc. hinzugefügt werden und über die Task_Liste dem Zeitmanagement mitgeteilt werden, sodass es einen neuen Taskeintrag gibt, der gestartet werden soll. Beispiel 2. Hier kann gut erkannt werden, wie
-
Artikel
IRMP
von IRMP. Die von IRMP unterstützten Protokolle weisen Bitlängen - teilweise variabel, teilweise fest - von 2 bis 48 Bit auf. Diese werden über Preprocessor-Defines beschrieben. IRMP trennt diese IR-Telegramme prinzipiell in 3 Bereiche: 1. ID für verwendetes Protokoll 2. Adresse bzw. Herstellercode
kHz / 38 kHz Kodierung Pulse Distance Frame 1 Start-Bit + 32 Daten-Bits + 1 Stop-Bit Daten NEC 8 Adress-Bits + 8 invertierte Adress-Bits + 8 Kommando-Bits + 8 invertierte Kommando-Bits Daten ext. NEC 16 Adress-Bits + 8 Kommando-Bits + 8 invertierte Kommando-Bits Start-Bit 9000µs Puls, 4500µs Pause 0-
-
Artikel
JDY-24M BLE Bluetooth Mesh I/O
0,3V Drop und Ub = 3,3V) Serielle Schnittstelle mit RS232 Logik. Als Hostmodul verwendbar 65280 Adressen in einem Netzwerk adressierbar Hardware. Modulbelegung. Bei der mir vorliegenden Version 1.71 ist INPUT1[10] und INPUT2[8] vertauscht. Ich kann aber nicht sagen ob das bei anderen Versionen auch der
liest z.B. VERSION=JDY-24M-V1.71 LADDR. Gibt es nur lesend und ermittelt die 12 Digit lange MAC-Adresse des Moduls. LADDR liest z.B. LADDR=11892007AC3E ROLE. Mit ROLE wird die Betriebsart des Moduls gewählt. ROLE liest z.B. ROLE=5 (steht für die MESH Betriebsart). ROLE8 setzt die Näherungsdetektions
-
Artikel
CtLab FPGA SigLab
kann die ungenutzte Schnittstelle stillgelegt oder komplett entfernt werden. SPI-Register. Die SPI-Adressen sind wie folgt belegt: Adresse rowspan="2"|Richtung rowspan="2"|Komponente colspan="2"|Bedeutung der Bits rowspan="2"|Anmerkungen 31..16 15..0 7 Schreiben Quelle für Analogausgänge colspan="2"|Ausgänge
Schreiben Amplitude Phasenlage 24 Lesen/Schreiben rowspan="2"|DSO colspan="2"|SRAM: Modus/Status, Adresse, Daten Bit 31..29: Modus/Status, Bit 28..8: Adresse, Bit 7..0: Daten 25 Schreiben colspan="2"|Konfiguration Bit 10..8: Signalquelle (Wert 0..3: entsprechender DDS-Kanal, 4: Pulsgenerator, 5: externes
-
Artikel
AVR32 Grasshopper
Dateien dazu) OpenWrt für den Grasshopper (Infos und Sourcecode dazu) Speicherlayout. Flash: 8MB ab Adresse 0x00000000 RAM: 64MB ab Adresse 0x10000000 Austausch von Dateien mit dem Board. Es gibt verschiedene Wege, Dateien mit dem Board auszutauschen. Standardmäßig läuft ein Webserver, der die Dateien unterhalb
mit U-Boot in den RAM geladen werden. Dies kann z. B. von einem TFTP-Server erfolgen, nachdem IP-Adresse des Boards (x.x.x.x) und des TFTP-Servers (y.y.y.y) gesetzt wurden. neues-root-fs ist hierbei der Name der Datei auf dem Server. setenv ipaddr x.x.x.x setenv serverip y.y.y.y tftp 11000000 neues-root-fs
-
Artikel
Porterweiterungen
Cursor-Richtung und Display-Shift Dieser Befehl legt die Bewegungsrichtung des Cursors und den Display-Shift fest. Shift bedeutet, dass der gesamte Inhalt des Displays um eine Position verschoben wird. C = 0: Bewegung nach links C = 1: Bewegung nach rechts S = 0: kein Shift S = 1: Display-Inhalt wird geshiftet
: 2 Zeilen F = 0: 5 × 7 Punkte F = 1: 5 × 10 Punkte RS D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 1 B N F x x Adresse im Zeichensatztabelle setzen Mit diesem Befehl, kann ein eigenes Zeichen in die Zeichensatztabelle des LCD-Controllers eingetragen werden. RS D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 A5 A4 A3 A2 A1 A0 Adresse
-
Artikel
Speicherdirektzugriff (DMA) mit dem ATxmega
Ausgangspuffer das Array selbst fest. Die Blockgröße entspricht somit 64 · 2 Bytes = 128 Bytes. Wenn man den entsprechenden Kanal in den SingleShot-Modus versetzt, wird nach jedem fertigen Konvertierungsvorgang seitens des ADC der entsprechende
ist, wird wieder von vorne begonnen. Was noch nicht erwähnt wurde ist der Repeat Count. Dieser legt fest wie oft ein kompletter Block nacheinander mit den gegebenen Parametern kopiert werden soll. Steht diese Einstellung auf 0, wird ein Block unendlich oft kopiert. Und diese Unendlich-Einstellung wird
-
Artikel
Receiver-Mainboard Plattform Philips PNX8950
Hi, 0.55 ms Lo .... - AUX : schaltet auf NEC-Protokoll (Adresse 32) Die Tastencodes sind je nach Gerät unterschiedlich. Die NEC-Protokolle sind klassisch, d.h. im 1. Byte kommt die Adresse, im 2. Byte die negierte Adresse, im 3. Byte der Tastencode und im 4.Byte
jemand eine Idee, wie man das überwinden kann. Das sind Dateien, die im ROM angeordnet und bereits auf feste Adressen geladen sind, so dass sie direkt ausführbar sind - also nicht direkt kopier- und an anderer Stelle verwendbar. Idee: wahrscheinlich finden sich diese Dateien in einem Plattform-Kit oder einer
-
Artikel
AVR-Tutorial: LCD
genauer: ins Data-Register geschrieben, kann auch für den CG bestimmt sein). RW (Read/Write) legt fest, ob geschrieben oder gelesen werden soll. High bedeutet lesen, low bedeutet schreiben. Wenn man RW auf lesen einstellt und RS auf Befehl, dann kann man das Busy-Flag an DB7 lesen, das anzeigt, ob das
ms Entry mode: 0b000001is. Legt die Cursor-Richtung sowie eine mögliche Verschiebung des Displays fest: i = 1, Cursorposition bei Ausgabe eines Zeichens erhöhen i = 0, Cursorposition bei Ausgabe eines Zeichens vermindern s = 1, Display wird gescrollt, wenn der Cursor das Ende bzw. den Anfang, je nach
-
Artikel
Loxone Link
can_spy_echo_example" aus der Atmel CAN-Lib verwendet. Die Software wurde für den Test so modifiziert, das der UART fest auf die Baudrate 115200 Baud und der CAN-Bus fest auf 125kbit/s eingestellt ist. Weiterhin wurden die Zeilen auskommentiert, in denen sich das Programm beendet, wenn die CAN-ID 0 empfangen wird. Zum Schluss wurde noch der Mode fest auf "Spy" einegstellt. Nun muss nur noch die Software in den Controller des EvaBoards geflasht werden und es kann los gehen. Nach einiger Zeit sieht man die ersten Telegramme. Wenn man es nicht auf
-
Artikel
Speicher
Logik-ICs). Ist außer dem Controller nur ein einziges IC an den Bus angeschlossen, kann /CS auch fest mit Masse verbunden und der Speicher somit permanent aktiviert werden. Das /OE-Signal dient hier dem Zweck, nach Anlegen einer Adresse am Adressbus den Speicher zum Übertragen eines Datenworts über
veranlassen (Lesezugriff). Sollen Daten in das SRAM geschrieben werden, legt der Controller die Adresse und die Daten an, um den Speicher dann mit einem Low-Signal auf der /WE-Leitung zum Speichern zu bringen. Die Reihenfolge der einzelnen Daten- und Adresspins am RAM kann nach Belieben variiert werden
-
Artikel
Logic Analyzer-Projekt: Ideen zur Hardware
also ideal für langsame Busse bei hohen Sampleraten. Hier kann man z. B. eine 16 bit Time-Stamp-Adresse (256k) mit einem 16 bit Pattern speichern, oder ein 24 bit Timestamps für 8 bit. Ein Interleave ist dann allerdings nicht mehr möglich. Als letze Möglichkeit kann man auf alles obige verzichten und
er gut verfügbar und preiswert sein soll. Bei asynchronen SRAM müssen wie eingangs erwähnt die Adressen und Daten in einem Latch zwischengespeichert werden. Bei einem synchronen SRAM werden die Adressen bei mit Flanke gespeichert, ebenso die Daten. Die Setup- und Hold-Zeiten gehen daher gegen Null..
-
Artikel
Nachttischlampe
Decoder beruht auf einer State-Machine, die schrittweise die einzelnen Bits erkennt und dann in Adresse und Daten zerlegt. Nach der Erkennung eines kompletten Komandos wird steht rCounter auf dem Wert 12 und das Hauptprogramm beginnt mit der Decodierung (Aufruf "DecodeRemote()"). Der Sender ist mittels Bit-Banging realisiert. Aufgrund des strikten Timings werden alle Interrupts abgeschaltet. Die Adresse für die Fernbedienung kann vom Benutzer eingestellt werden oder angelernt werden. Die Adressen für die Kommunikation der Lampen untereinander lauten 27, 28, 29. Optionsmenü Setzen der Helligkeit Auswertung
-
Artikel
WordClock mit WS2812
man meist in den Router-Einstellungen dafür sorgen, dass der Client mit der MAC-Adresse xx-xx-xx-xx-xx-xx immer dieselbe IP-Adresse vom WLAN-Router zugeteilt bekommt. Hinweis: Ab der ESP-Software 2.9.5 sind ASCII-Sonderzeichen, die vom Browser anders behandelt werden wie z.B. "/", "+
: Den Timeserver konfiguriert man folgendermaßen: Im Browser gibt man als URL die ausgegebene IP-Adresse ein, also z.B. . Anschließend wählt man den Menüpunkt "Network" an und gibt in der entsprechenden Zeile die IP-Adresse des Wunsch-Timeservers ein und bestätigt mit "Save". Nun wird zunächst geprüft
-
Artikel
Entwicklungsboard mit AT91SAM7Sxxx - selbstgemacht
gebildet werden. Es kann auch eine externe Taktquelle mit max. 55MHz direkt eingespeist werden. Um den fest installierten USB-Bootloader zu verwenden, wird ein 18,432MHz Quarz benötigt, woraus das 48MHz Signal für den USB-Controller generiert wird. In dieser Konfiguration versorgt derselbe Takt auch den Kern
Wert. Ab dieser Adresse liegen die einzelnen Konfigurationsregister. In der header-Datei ist zum Zugriff auf diese eine Struktur definiert: Zum Zugriff auf diese Speicherzellen werden Zeiger (Pointer) verwendet. Dies kann
-
Artikel
Programmiersprache
erweiterbar, da neue Funktionalitäten keine Einfuss auf die Syntax haben. Die Syntax legt lediglich fest, WIE externe Funktionen aufzurufen (und zuvor ggf. anzukündigen) sind. Die Festlegung gilt dann für alle Funktionen, egal aus welcher Bibliothek sie kommen. In C und reicht die Kenntniss der Syntax
übersetzt, welche (unter gleichem Namen) andere Funktionen bereitstelt, die nun tatsächlich I/O-Adressen (und darüber die wirklichen Aktuatoren und Sensoren) ansprechen.
-
Artikel
FAQ
Wertebereichen bewegen). Die Präzision kommt nur bei float oder double Zahlen zum Einsatz. Sie legt fest, wieviele Positionen der kompletten Feldbreite für die Ausgabe von Nachkommastellen reserviert werden sollen. Auch sie muss wiederrum nicht angegeben werden und printf benutzt in so einem Fall Standardvorgaben
Konsequenz eine wichtige Möglichkeit für Optimierungen durch den Compiler lahm. = Konstanten an fester Flash-Adresse = Wie kann man eine Konstante an entsprechender Adresse im Flash ablegen? Mehmet Kendi hat eine Lösung für AVR Studio & WinAVR in angegeben. = Timer = Was macht ein Timer?. Oft hört man
-
Artikel
STM8S-Discovery
"Write to File" klicken, dieses dann als z.B. reg.txt abspeichern und dessen Inhalt an die Email Adresse stm8_32k@cosmic.fr verschicken. Einrichten des ST Visual Develop. Um das erste Programm zu schreiben, öffnet man das ST Visual Develop (ähnlich dem AVR Studio). Leider sieht es nach dem Starten noch
Als nächstes erscheint schon wieder ein Fenster. Hier legt man den Projektnamen und den Projektpfad fest, am besten ein Unterordner im Workspaceverzeichnis. In unserem Fall nennen wir unser Projekt "ErstesProgramm" und speichern es im Unterordner "ErstesProgramm" im Workspaceverzeichnis. Nun muss man nur
-
Artikel
Zoll und Abgaben
Mandat und den Zollauftrag zuständig seien. Zusätzlich scheint DHL-Express auch mehrfach die E-Mail Adressen der Ansprechpartner geändert zu haben. DHL Express' Verhalten macht DHL Express für Privatpersonen sehr unattraktiv. Vielleicht ist dies durchaus gewollt. Post, Post-Paketdienst DHL - aber nicht DHL
oder Twitter plötzlich sehr aktiv. So antwortet DHL auf Twitter häufig mit einer speziellen E-Mail Adresse, über die die Beschwerde dann bearbeitet wird, während Beschwerden an DHLs offizielle Serviceadresse unbeantwortet bleiben. Gelegentlich fahren Kurierdienste irgendwelche Imagekampagnen. Diese Kampagnen
-
Artikel
STM32 für Einsteiger
befunden wurde. Es stimmt schon, es gibt Unterschiede. Die Register haben anderen Namen, andere Adressen, andere Bitbedeutungen, ... Aber es steht doch alles im Datenblatt. Und ob ich jetzt einen AVR oder einen ARM das erste Mal vor mir liegen hab. Ich brauch in allen Fällen die oben beschriebenen Schritte
Pointern muss keine zusätzliche Information verwaltet werden, in welche Art Speicher sie zeigen. Die Adresse gibt dies eindeutig an (es gibt nur eine Adresse 42, und nicht 2 wie z.B. beim AVR (Flash, RAM & I/O)) und die Hardware spricht automatisch den richtigen Speicher an. Die Möglichkeiten zur Offset-Adressierung