-
Thread
STM32F4 Probleme mit USART
eine Seite im Nettz, die massenweise nützliche "Bit Routinen" und Makros bereit stellt, wie zb Spiegeln eines Bytes, rotieren über 64 Bit usw. Habe mich nur leider danach tot gesucht die wieder zu finden. >>Das heisst nichts. Es gibt Leute, die programmieren seit Jahren in C und >>lernen immer
Seite im Nettz, die massenweise nützliche "Bit > Routinen" > und Makros bereit stellt, wie zb Spiegeln eines Bytes, rotieren über 64 > Bit usw. Habe mich nur leider danach tot gesucht die wieder zu finden. > >>>Das heisst nichts. Es gibt Leute, die programmieren seit Jahren in C und >>>lernen
-
Thread
C asm Inline-Coding im AVR-Studio
Georg static void lcd_out( uint8_t data ) { data &= 0xF0; // Die 4 Bits im oberen Nibble spiegeln // MSB LSB // bit7 bit6 bit5 bit4 0 0 0 0 // Nach der Spiegelung: // MSB LSB // bit4 bit5 bit6 bit7 0 0 0 0 asm volatile ( "
Georg Schl. schrieb im Beitrag #2241318: > 1. Woher weiss die Assemblerroutine, welches Byte sie manipulieren soll Es gibt keine "Assemblerroutine" sondern nur einen String, in dem GCC Ersetzungen macht (Inline Assembler). Hier wird %0 dem ersten Operanden zugeordnet etc. ZB http://
-
Thread
SSD1306/1309 Library zum Darstellen von Text auf OLED Displays
rund 34 ms auf rund 28 ms (400 kHz Busgeschwindigkeit). Der benötigte Flashspeicher ist von rund 4 kByte auf unter 3 kByte gesunken. Am RAM hat sich nichts geändert, es werden immer noch 1027 Byte benötigt. OK, oben schrieb ich 1029 Byte, 2 Byte jedoch waren von einer Hilfsvariablen (uint16_t) meiner Mainloop
So, ich hab die Möglichkeit, das Display bzw. den Inhalt entsprechend zu spiegeln, implementiert. Man hat die Wahl zwischen horizontal spiegeln, vertikal zu spiegeln oder horizontal & vertikal zu spiegeln.
-
Thread
Bei einer Zahl die Bits untersuchen, AVR-Stud. in C
es jetzt! Noch mal Danke!!! Gibt es eigentlich einen Befehl, der die Bits einer Variablen spiegeln kann (also so, dass das LSB zum MSB wird und umgekehrt)?
schrieb im Beitrag #3035175: >> Gibt es eigentlich einen Befehl, der die Bits einer Variablen spiegeln >> kann (also so, dass das LSB zum MSB wird und umgekehrt)? > > könnte man für sowas und ähnliche allgemeine probleme (z.b. variable in > string umwandeln) eine Hilfsdatei schreiben und im AVR-Studio
-
Thread
Little Endian oder Big Endian Format?
rein, wenn ich vom motorolla-format ausgehe und dann auf intel umwandle, muss ich dann *alle* bits spiegeln oder nur jeweils die Bits von einem Byte, also die Reihenfolge der Bytes bleibt gleich, nur die Bits in den Bytes werden gedreht, oder wird alle gedreht?
Nur die Bytes. Die Bits werden zwar manchmal anders numeriert, aber deren Wertigkeit im Byte ändet sich nicht.
-
Thread
LSB <----> MSB tauschen in c
ist es vermutlich optimal, die beiden Nibbles des Byte über ne 16ner Tabelle zu spiegeln und dann die Hälften mit 'swap' zu tauschen. Cheers Detlef
|= (byte_1 & 0x20); byte_2 |= (temp >> 3); temp |= (byte_1 & 0x10); byte_2 |= (temp >> 1); temp |= (byte_1 & 0x08); byte_2 |= (temp << 1); temp |= (byte_1 &
-
Thread
Integer-Wert in ASCII-char
| g | h | +---+---+---+---+---+---+---+---+ um diesen String (ohne zusätzliches Array) zu spiegeln, genügt es jeweils das erste mit dem letzten Element zu vertauschen, dann das zweite mit dem vorletzten usw. bis man in der Mitte angekommen ist. +---+---+---+---+---+---+---+---+ | a |
#if XPAR_MICROBLAZE_0_USE_ICACHE microblaze_init_icache_range(0, XPAR_MICROBLAZE_0_CACHE_BYTE_SIZE); microblaze_enable_icache(); #endif #if XPAR_MICROBLAZE_0_USE_DCACHE microblaze_init_dcache_range(0, XPAR_MICROBLAZE_0_DCACHE_BYTE_SIZE); microblaze_enable_dcache
-
Thread
Raid 5 oder 10 sinnvoller?
Auch Hotspare-HDs von der gleichen Charge können am gleichen Tag sterben. Einfach spiegeln und lieber öfter ein Backup machen sollte reichen.
soll ja etwas schneller sein als 5... Kein Wunder RAID 10 ist ja auch nur ein Stripeset aus Spiegeln, und zum Spiegeln braucht's keine Parity. > Ich würde 5 wählen, weil man dann eben den Speicherplatz von 3 Platten > ausnutzen kann (anstatt von 2 bei Raid 10) Die alte Entscheidung Speed
-
Thread
CANopen - diverse Fragen
mir eine SDO Nachricht ansehe, dann ist diese wie folgt aufgebaut: COB ID (XXX), DLC(8), Command(byte), Index(byte0, byte1), Sub-index(byte), Date(byte0 bis byte4) Normalerweise kenne ich es so, dass man Binärzahlen so schreibt, dass das niederwertigste Bit rechts steht. Jetzt steht hier aber z.B., dass beim Index byte0 links von byte1 steht. Bedeutet das jetzt, dass ich die ganze Bitfolge einfach "spiegeln" muss, oder muss das so gesplittet werden, dass ich die Bitfolge nach 4 byte trenne und einfach überkreuze?
-
Thread
Longwert: Bits vertauschen LSB zu MSB
Auf einen Rutsch wohl blöd zu machen. In einzelnen Byte besser. Ein Byte drehen: [c]unsigned char umkehr(unsigned char n){ n=((n>>1)&0x55)|((n<<1)&0xaa); n=((n>>2)&0x33)|((n<<2)&0xcc); return (n>>4)|(n<<4); } [/c] Byte 1 mit 4 und 2 mit 3 tauschen
[1] mit dem ersten Byte. Danach füllt er den Buffer an der stelle [2] mit dem nächsten Byte... Wenn ich die Daten für eine effiziente Verarbeitung mit 32-Bit-Variablen verarbeiten will krieg ich ein riisen Problem wegen
-
Thread
Bascom GETKBD Routine ändern
dran und jetzt ist sie verkehrt herum, d.h. von PB7 bis PB0? Wenn das so ist, dann mußt Du das Byte, in das GETKBD seine Werte hinein- schmeißt, umdrehen. Dim Erwin as Byte Dim Erwin_umgedreht as Byte Erwin=Getkbd() Erwin_umgedreht.0 = Erwin.7 Erwin_umgedreht.1 = Erwin.6 . . . Erwin_umgedreht
riesen Problem wäre da ne kleine Funktion dazwischen zu klabustern ... funktion get_keyboard () as byte local z as byte local y as byte Portx =0 portx.4 = 1 z=pinx and &B11101111 y=0 if z=0 portx.4 = 0 portx.5 = 1 z=pinx and &B11011111 y=1 endif if z=0 portx.5 = 0 portx.6 = 1 z=pinx
-
Thread
neuer NAS Server
doch alles eigenständig. Hab aber schon zwei Mal Resettet, der verfügbare Speicherplatz bleibt bei 0 Bytes.
alles eigenständig. > Hab aber schon zwei Mal Resettet, der verfügbare Speicherplatz bleibt > bei 0 Bytes. der gesamte Festplattenplatz ist dem Pool zugeordnet, daher ist nichts mehr frei für weitere Pools. Das hat nichts mit dem freien Speicherplatz auf dem Volume1 zu tun
-
Thread
C-Datei zur Laufzeit einbinden?
also von links nach rechts und von oben nach unten. Das geht durchaus, nur musste ich die einzelnen Bytes noch spiegeln, damit sie korrekt angezeigt werden. Also Bit 0 wird Bit 7, Bit 1 wird Bit 6 etc. Das ist mir im Font Creator nicht gelungen. Ich kann da nur die 'Laufrichtung' ändern, also von oben nach unten oder anderstherum. Für das Oled hat aber keine Option gepasst. Erst habe ich das Spiegeln der Bytes in meiner Ausgaberoutine gemacht. Das funktioniert, kostet aber unnötig Rechenzeit. Außerdem brauche ich für jeden Font eine Tabelle zur Umsetzung ASCII - Unicode. Im Extremfall könnte
-
Thread
FTP und Dateiprüfsumme (CRC)
wie kann am effizientesten vorgegangen werden. _Vergleich_ : Änderungsdatum, Dateigröße, Inhalt (Byte für Byte Vergleich), Prüfsumme. In welcher Reihenfolge sollten diese Parameter verglichen werden. Der Byte für Byte Vergleich ist am aufwendigsten, da alle Daten auch im Verdachtsfall über *TFP*
werden muss. Wobei Zeitstempel und Länge keine 100% Gewissheit bieten. So gesehen ist *immer* ein Byte für Byte notwendig, oder?
-
Thread
RS232->USB. Signale werden gespiegelt und umgedreht und nicht nur.
Habe ich was vergessen? Damit kann ich noch im Prinzip leben, muss nur entsprechend die Daten spiegeln und negieren. Was mich noch sorgen macht, dass selbst nach spiegeln und negieren in 95% der Fälle anstatt "00000001" eine "01000000" an der Laptopseite gesehen wird. Ich habe den Signal wieder
Mach mache auch viel RS232 mit auch hohen Baudraten und habe das immer so: im FPGA stelle ich mir Bytes zusammen und die schiebe ich dann seriell auf den TX Pin der zum Pegelwandler geht. Byte XXXX XXXX Seriell 0 XXXX XXXX 1 für 8N1 Und dann in den PC rein mit RS232 Adapter, und Realterm/Cutecom
-
Thread
BASCOM: große Zahlen über alle 4 Zeilen eines 4-Zeiligen L
Aber trotzdem vielen Dank und ich werde noch nicht aufgeben. Übrigens in Basic könnte ich ein Byte schon spiegeln. Das Beispiel im Anhang mfg Sepp
(x as byte) local x1 as byte: x1 = x + 1 !!!Interessante Zeile!!! local x2 as byte: x2 = x + 1 !!!Interessante Zeile!!! local y1 as byte: y1 = y + 1 local y2 as byte: y2 = y + 1 local y3 as
-
Thread
8086 Beschaltung Speicherlogik (BHA A0 MR MW)
selbst ist wie folgt angeschlossen: [A1...A19] -> [A0...A18] [D0...D7] -> [D0...D7] IC1 lower Byte [D0...D7} -> [D8...D15] IC2 upper Byte Da ich den ROM in den RAM kopieren möchte, sitzt noch ein ATMega64 daneben mit folgendem Aufbau und Funktion: Alle Datenleitungen und Adressleitungen
Intel-16Bit-Architektur wählt beim Schreibzugriff A0(machmal auch als BLE bezeichnet) das gerade Byte, BHE das ungerade Byte aus, beim Lesezugriff sind beide Signale aktiv, das unerwünschte Byte wird ignoriert. Wohin diese Zugriffe gehen (Mem oder IO), wird im Minimum-Modus durch das Signal M/IO der
-
Thread
alle Beiträge zum Downloaden?
3.33 mirror complete in 38 minutes 29 seconds : 9058 links scanned, 8931 files written (306701603 bytes overall) [207500580 bytes received at 89865 bytes/sec], 141225745 bytes transfered using HTTP compression in 7490 files, ratio 27%, 1.1 requests per connection (82 errors, 16 warnings, 0 messages)
kleiner tipp neben sessionids zB. " Achja? Und wo soll das bitteschön einen Downloadmanager vom Spiegeln der Seite abhalten? Dann lasse ich mir halt vor dem Download einer Seite einen neuen Cookie verpassen. Ebenso wie die Session. Informier Dich besser mal über die Technik, bevor Du so einen Unsinn
-
Thread
CRC16 - CCITT
Idee, was ich falsch mache? [pre] dim w as word dim txt_5_st as string[5] const crcblock as byte[100] = (48, 49, 50, 51) 'hier testweise "0123" als ASCII sub function CRC16_CCITT(dim byref localcrcblock as byte[100], dim startbyte as byte, dim endbyte as word) as word dim j, lsb as Byte dim
Frank schrieb im Beitrag #4983215: > Steck mal nur 1 Byte rein. Eigentlich sollte man sogar mit 0 Byte anfangen, um Startwert und Endbehandlung zu prüfen. Und dann bei 1 Byte zuerst mit 0 anfangen. Wenn das klappt, dann z.B. mit 0x01. Wenn das *nicht
-
Thread
von ELF nach flashbarem Format mit objcopy
der Flash bei 0x08000000 zu finden. Manche wie der STM32 können den zusätzlich an die 0-Adresse spiegeln je nach Einstellung der BOOT*-Pins und des SYSCFG Registers. An 0x08000000 zu flashen/lesen ist aber der sichere Weg, weil der Flash dort immer zu finden ist. J. V. schrieb im Beitrag #4943662:
12 Source lines: 9528 Object File ".\out.elf" successfully processed Used memory: 2352 kByte, Used disk space: 7 kByte
-
Thread
Welche Festplatte 1TB?
Wieviel Byte hat denn die 1 TB Platte 2^40 Byte oder 10^12 Byte oder irgendwo dazwischen. Aber so eine Platte ist doch ein herrausragendes Beispiel unserer heutigen ING Kunst 8000 Milliarden ansteuerbare Einheiten
> Wieviel Byte hat denn die 1 TB Platte 2^40 Byte oder 10^12 Byte oder > irgendwo dazwischen. Na, 1 TByte hat sie. Das sind 10^12 Bytes, so, wie es das SI-Präfix "T" für "Tera" beschreibt. Der Festplattenhersteller
-
Thread
Problem mit Werteübergabe zu miener Funktion
for(i = 0; i < length; i++) // Die Schiebeoperationen der for-Schleife dienen zum Spiegeln der zu übertragenen Zeichen { // D7..D0 -> D0..D7 tByte = *(c + i); lByte = ((tByte & 0x01) << 7) | ((tByte & 0x02) << 5) | ((tByte & 0x04) << 3) | ((tByte & 0x08) << 1); hByte = ((tByte & 0x10) << 3) | ((tByte & 0x20) << 1) | ((tByte & 0x40) >> 1) |
-
Thread
EEPROM schreiben lesen
TIMSK0 2. Sind es zu viele Werte für den Speicher. (Nur die Hälfte der Sinuswerte nehmen und spiegeln!) Idee zum EEPROM: [c] OCR0A = eeprom_read_byte(counter); [/c] Setzt vorraus das die Sinuswerte ab 0x00h im EEPROM liegen, allerdings ist dieser NICHT schnell genug um die Daten in der
bytes (64.1% Full) (.data + .bss + .noinit)
-
Thread
AVR STN-Display-Tester (320x240)
Biddeschön Die spiegeln echt brutal, das war mir bisher nicht aufgefallen, weil ich die Folie noch draufhatte...
Das Problem ist dabei nur der SRAM. Im Grafikmodus: 320x240=76800bits=9600Byte Im Textmodus (8x8): 40x30=1200Zeichen Im Textmodus würde ein mega16 aufwärts ausreichen. Für den Grafikmodus benötigt man ein externes RAM, und kann dann direkt die Schaltung von meinem 640x480
-
Thread
Digitales Speicheroszilloskop UT 4042 C (z.B. von Reichelt)
nacheinander ein (Header noch nicht benutzt). Viel Spaß damit, Thomas REM file header 20 bytes REM byte1..byte6: 0xAA, 0x55, 0x00, 0x01, 0x00, 0x00 REM byte7: 0x00 = CH1, 0x01 = CH2 REM byte8: 0x00..0xA0 = y/DIV in steps, see switch-case below REM byte9: 0x00..0xFA = y-offset 0..250
= 100x, 0x03 = 1000x REM byte5..byte6: 0x00, 0x00 (unknown) REM byte7: 0x00 = CH1, 0x01 = CH2 REM byte8: 0x00..0xA0 = y/DIV in steps, see switch-case below REM byte9: 0x00..0xFA = y-offset 0..250 pixels REM y-resolution
-
Thread
Datenübertragung ohne Schnittstellen
Weg gefunden. Welcher könnte das sein? Eure (sehr guten Ideen!) bis jetzt: - Akustisch (ca. 100 Byte/s) - Optisch (QR Code, vielleicht 3kByte/s (bei QR Version 40)) - Elektrisch per Audioschnittstelle, entweder analog (geschätzt 2x 500 Byte/s??) oder digital (DDC; geschätzt 8 kByte/s??)
gefunden. Welcher könnte das sein? > > Eure (sehr guten Ideen!) bis jetzt: > - Akustisch (ca. 100 Byte/s) > - Optisch (QR Code, vielleicht 3kByte/s (bei QR Version 40)) > - Elektrisch per Audioschnittstelle, entweder analog (geschätzt 2x 500 > Byte/s??) oder digital (DDC; geschätzt 8 kByte/s??)
-
Thread
Paralleles Flash mit Spartan-3AN
Problem haben sollte: Wenn man das NOR flash nutzen möchte, muss man bit-swapping (Bits in einem Byte spiegeln) UND byte-swapping (je 2 Bytes tauschen) anwenden. Man muss erst mit Impact die erzeugte .bit Datei in eine .bin Datei konvertieren und bit-swapping dabei aktivieren. Anschließend muss diese .bin Datei mit einem eigenen kleinen Skript oder Programm ge-byte-swapped werden. Dann kann man das ganze via SDK ins NOR flash programmieren...
-
Thread
The Siemens S65 132x176, 65536 color display with AVR
# '###################################################### Sub S65_line(byval Lx1 As Byte , Byval Ly1 As Byte , Byval Lx2 As Byte , Byval Ly2 As Byte , Byval Color As Word) Local M As Byte , M1 As Single , M2 As Single Local Yg As Byte , Cv As Single , Bn As Integer Local R As Byte ,
################################################################## Sub S65_print(byval Lx As Byte , Byval Ly As Byte , Byval Bcol As Word , Byval Fcol As Word , Byval Lcd_text As String) Local Xpos As Byte Local Ypos As Byte Local Zaehler As Byte Local Laenge As Byte Local Zeichen As String
-
Thread
KIM-1 in AVR?
Umgebung aussieht und wie die Taktung der 65xx genau aussieht. Wird da pro Takt/Doppeltakt nur 1 Byte gelesen? Das würde ja bedeuten, daß man nach Lesen des Opcodes auf diesem sitzt und erst wenn man mit Byte 2 bzw. 3 die Operanden gelesen hat die Auswertung machen kann. Das Hauptproblem dürfte
die obersten drei Bit (A15, A14, A13) zu ignorieren. So dass sich RAM, ROM und IO einfach 8 mal spiegeln im Adressbereich.
-
Thread
Library für EA-DOGM Grafikdisplays inkl. Font-Generator
= pgm_read_byte(&progmem_image[0]); // erstes Byte = Spalten maxC = pgm_read_byte(&progmem_image[1]); // zweites Byte = Zeilen die Startposition jetzt noch mit zwei Parametern mitgeben, so wie es Jan's Lib macht
t x, uint8_t y) { // X-Position setzen xpos = x; y = 103 -y; // Pixelposition im Byte berechnen uint8_t byte_pos; byte_pos = (y/8)*2; ypos = byte_pos; // Datenbyte für Punkt uint8_t disp_data; disp_data = 0x00000001; // Punktposition im Datenbyte berechnen
-
Thread
AVR und Modem Problem
her, um die Ausgabe ans Modem zu überprüfen. Gibt es denn keienn Trick wie man so eine Verbindung spiegeln kann, sodass ich mir den Datenfluss im Terminal angucken kann? Erstmal Danke für eure Hilfe ich werde gucken, das ich die get_str Funktion abändern werde das sie stabieler läuft. Bin offen
f95 schrieb im Beitrag #2830037: > Gibt es denn keinen Trick wie man so eine Verbindung > spiegeln kann, sodass ich mir den Datenfluss im Terminal angucken kann? Häng dich an die Leitungen zum Modem. Entweder vollduplex, dann brauchst du zwei weitere serielle Ports. Oder nutze den Umstand
-
Thread
Verständnisfrage zum UDS-Protokoll
sowie D1, also in Summe 12 Bits, enthalten die Gesamtlänge der Antwort, in diesem Fall 0x1B (27) Bytes. In D2 ist die positive Antwort auf meine UDS-Anfrage enthalten (0x40 + SID) und D3+D4 spiegeln meine Anfrageparameter wieder. Ab D4 kommt dann der Nutzdatenteil der Antwort. Soweit, sogut. Nun
das Frage-Antwort-Spiel logisch und ISO-TP regelt dann wie man die Anfragen und Antworgen mit den Byte pro Botschaft bei CAN sauber übermittelt. Der FC-Frame geht nach ISO-TP Spec mit 0x30 los, keine Anzahl der übermittelten Bytes davor. Dein Steuergerät erkennt mit 0x03 kei FC und bricht ab.
-
Thread
PCs verbinden/fernsteuern
Hardwareglotze vor Ort anzeigt. RDP kann auch den Bildschirminhalt einer existierenden Sitzung spiegeln, dann halt nur mit der Auflösung dieser Sitzung. Das geht mit dem /shadow-Kommandozeilenargument von mstsc. Dazu muss man allerdings auch die ID der zu spiegelnden Sitzung kennen.
schrieb im Beitrag #7723201: > Genauso wie lokal, wird in "Eigenschaften" angezeigt. Dort wird 0 Bytes angezeigt.
-
Thread
ItoA mit Uint64_t
Wenn du den String so spiegelst [c] // den String in sich spiegeln Buffer[i--] = '\0'; for( j = 0; j < i ; j++, i-- ) { Buffer[j] ^= Buffer[i]; Buffer[i] ^= Buffer[j]; Buffer[j] ^= Buffer[i]; } [/c] sparst du dir die extra tmp variable. Das ist
Allerdings sind die Routinen nicht für jedermann geeignet, das sie wegen > der LookUp-Tabelle 200 Byte RAM zusätzlich verbrauchen. > Macht es Sinn die LookUp-Tabelle im Pgm-Space zu halten?
-
Thread
Bit-Reihenfolge bei Big/Little Endian
Motorola-Format (Big Endian) und der ARM nach dem Intel-Format (Little Endian). Das ich hier die Byte-Reihenfolge spiegeln muss, damit ein Long richtig auf der gegenüberliegenden Seite erkannt werden kann ist damit klar. Die Frage die ich mir allerdings stelle ist, ob auch die Bits im Byte gespiegelt
Der Endian bezieht sich nur auf die Abspeicherungsreihenfolge der Bytes, also Bits bleiben wiese sind.
-
Thread
Stacktiefe AVR-Controller
Das ist aber kein rcall mit Offset 0, sondern mit Offset -2 oder -1, je nachdem, ob du es lieber byte- oder wortweise betrachtest.
ausgeben und die liegt bei 0x10AC. Das dürfte weit genug weg sein von den statischen Variablen, die 2831 Bytes umfassen. Der RAM hat 4096 Bytes (644P). Es ist auch insofern verblüffend, dass meine printf-Funktion genau so aussieht, nur dass die Ausgabefunktion eine andere ist. Diese Funktion macht aber keinen
-
Thread
allgemeine PicoMite Anfängerfragen
Die Adresse hat 7 Bit und das R/W Flag ist eine anderer Parameter. Das sollte jede API so wieder spiegeln.
reset LCD_Nibble(0b0010, 0, 2000); // 4 bit mode LCD_Byte(0b00101100, 0, 600); // 4 bits, 2 lines LCD_Byte(0b00001100, 0, 600); // display on, no cursor LCD_Byte(0b00000110, 0, 600
-
Thread
Ist es möglich, etwas wie EEMEM und PROGMEM für externe RAM?
Anfang 90-er C51 in Maschinencode ohne Computer gemacht: so bequem für Menschen ist Befehlssatz. Byte für Operation, Byte oder zwei für Daten oder Adressen. Mit AVR kann das schon kaum mehr gehen: Bits von Befehl und Daten sind eigenartig durcheinander. Ohne Flasche Schnaps versteht man hier mit Code
8051 hätte man externen XRAM Das gibt es auch bei manchen AVR. Wie bei ATMega8515 (wenn man nur 512 bytes RAM hat, dann ist externe RAM schon eine Notwendigkeit!), so auch bei ATmega128A und ATMega2560.
-
Thread
externer serieller EEPROM/C
Das 2404 hat doch nur 512 Byte, richtig? Ich benutze zur Zeit ein EEPROM mit 10.000.000 Schreib- Löschzyklen. Wenn du so ein Teil nimmst, die Zugriffe mitprotokollierst, müstest du fertig sein. Der Typ heißt 24LC65 von Mikrochip.
12 Produktionslinien, die du überwachen willst. Also, angenommen 12 x unsigned long, entspricht 48 Byte. Nach 100 Tagen wechselst du auf den nächsten 48'er Block. So bekommst du in den High-Endurance Block 10 x 48 Byte, also 10 x 115 Tage. Danach stehen dir noch 7,5KByte mit 1.000.000 Schreib- Löschzyklen
-
Thread
Arduino Timerprobleme - suche programmierbaren Oszillator
werden. ?!? Es gibt pro Zeile *ein* interessantes Bit, und das ist bit7 (MSB) des höchstwertigen Bytes byte3 des jeweiligen Phasenakkumulators t_. (ich hätte ihn anderes benennen sollen, pa_ oder a_). Und das wird nicht ausmaskiert, sondern ausgewertet.
Link für alle. Bei Bedarf. :-) https://stackoverflow.com/questions/61179846/reversing-bits-in-a-byte-with-avr Kennt ihr bestimmt schon.
-
Thread
Prinzip grafische darstellung/diagramme etc
es richtig, das ein Integer in der Regel mehr als ein Bit umfasst. Ob Du nun aber ein Integer, ein Byte oder was auch immer nimmst hängt vom konkreten Display ab. Bei monochromen Displays wird in der Regel ein Byte mehrere Pixel kodieren. Ob aber nun ein Byte vertikal oder horizontal angeordneten
letztgenannte Funktion *schnell* sein muß. Deswegen wird man da kaum komplexe Transformationen wie das Spiegeln eines Bytes o.ä. drin machen wollen. > Als nächstes würde ich ja mit entsprechenden Funktionen etc. in diese > Array das Bild aufbauen. und dann würde ich jeden einzelnen Pixel ans > LCD senden
-
Thread
STM32 und 11x74HC595.
RCLK_Pin, GPIO_PIN_RESET); } void HC595writePin(uint8_t pin, uint8_t value) { int bit, byte; byte = pin / 8; bit = pin % 8; if (value == 0) { LEDdata[byte] &= ~(1 << bit); } else { LEDdata[byte] |= (1 << bit); } HC595write(
Bitmanipulation müsste ich doch eigentlich das gedreht > bekommen? Jain, man muss die Adressierung der Bytes auch spiegeln. > Wenn ich meine for-schleife nun aufif(data & (1>> j)) > > funktionierts leider nicht, Logisch. > eigentlich muss ich doch die 1 in die andere > Richtung schieben mit
-
Thread
Zahl umdrehen?
)>>2 | (b & 0x33)<<2; b = (b & 0xaa)>>1 | (b & 0x55)<<1; } void foo(void) { BYTE *pIn = (BYTE*) &DeineZahlIn; BYTE *pOut = (BYTE*) &DeineZahlOut + sizeof(DeineZahlIn); BYTE *pInEnd= pIn + sizeof(DeineZahlIn); do {*--pOut = revBYTE(*pIn++);} while(pIn <
hier, > Goodies da - nur dann muss man die Hardware kennen Mit 16 GPIO kannst Du das einzelne Byte per HW spiegeln. Mit 128 GPIO auch den ganzen Wert.
-
Thread
Pollin LCD Modul 7" Touch-monitor FT700TVGA
senden musst.. Adresse: jain, siehe oben. Data: nur ein Byte, also 0x47. Wenn nicht 0x47, dann 0xB8, das muss man ausprobieren. Das dazu negierte Byte baut IRSND automatisch dazu.
ignoriert, das kann aber auch an meinem "Schnellaufbau" des Senders > gelegen haben. Benutze nur ein Byte für den Code, das dazugehörende invertierte Byte baut IRSND selbst dazu. Also: address = 0x00FF - besteht bei Ext. NEC aus 2 Bytes command = 0xA5 - ist immer nur ein Byte, sowohl bei Std. als
-
Thread
DMX Dimmerpack bauen
'Sla register Uart_temp1 (R18) op in S-Ram variabele Dmx_count_temp STS {Dmx_byte} , Uart_byte 'Sla register Uart_byte (R17) op in S-Ram variabele Dmx_byte RJMP Asm_exit 'Relatieve sprong naar Asm_exit (einde verhaal) Asm_loop1: STS {Dmx_byte} , Uart_byte 'Sla Register Uart_byte (R17) op in S-Ram variabele Dmx_byte Asm_exit: $end Asm [/code] fehlermeldung: beim compilieren:
-
Thread
"Picture Converter 1bpp" Tool zum erzeugen von Bitmapgrafiken für monochrome LC-Displays
Angaben zur 1. Bildbreite und 2. Bildhöhe (ACHTUNG: wenn dieser Wert größer 255 ist ein Eintrag 2byte groß, sonst 1byte). Die erste volle Zeile des Array enthält die oberste Zeile der Bitmap. Das erste Byte ist links oben in der Bitmap. D7 des Bytes ist das erste Pixel. Diese Aufteilung eignet sich
für KS108, SED1520 und SPLC0501C Controller können mit vertikaler Orientierung erzeugt werden. Ein Byte enthält dann 8 Pixel vertikal angeordnet. D7 des Bytes ist das oberste Pixel. Eine Zeile im C-Code besteht aus einem Streifen/Spalte von 8 Pixeln Höhe. In der Readme ist Implementierungsbeispiel für