-
Thread
Programmieren mit KI
well-structured class with automatic inversion detection, minimal ISR footprint, parity checking, and full BCD decoding. That's something to be proud of! I hope the Pico W picks up a clean signal and you see that first >>> Zeit : 14:25 MESZ on the console soon. Good luck, and feel free to come back anytime!
Und weil es so schön ist, habe ich den Code in C umwandeln lassen mit folgender Anweisung: Könntest du mir bitte den Micropython-Code auch als reines C-Modul für einen AVR Mega32A generieren? Die Quartz-Frequenz beträgt 16MHz. Das DCF-Signal liegt an Port
-
Thread
"Radio-Buttons" in TTL/CMOS-Logik
Elektor Halbleiterheft 1984 - Elektronischer Tastensatz. Dank dafür. 4028 decodiert trefflich+simpel BCD > DEZIMAL, aber 'latched' den Zustand halt leider nicht. Interessant wäre, wie 'ELEKTOR' es im weiteren Schaltungsverlauf löste.
Elektor Halbleiterheft 1984 - Elektronischer Tastensatz. > Dank dafür. 4028 decodiert trefflich+simpel BCD > DEZIMAL, > aber 'latched' den Zustand halt leider nicht. > Interessant wäre, wie 'ELEKTOR' es im weiteren Schaltungsverlauf löste. Die gezeigte Schaltung ist rastend (latched), dafür sorgen die
-
Artikel
USB-Tutorial mit STM32
Parameter der EncodeDescriptors::USB20::device sind bereits mit den richtigen Typen definiert, d.h. bcdUSB, idVendor, idProduct und bcdDevice sind uint16_t. Größe und Typ des Deskriptors müssen nicht angegeben werden, weil diese ohnehin immer gleich sind. Die Funktion gibt ein std::array zurück, welches
vorgenommen. Diese müssen wir jetzt noch in Einzel-Bytes der richtigen Reihenfolge (Little Endian) umwandeln. Dafür ist in der "encode.hh" die Funktion Util::encodeString definiert, welche aus einem String-Literal ein std::array macht: Im Flash landet dann die UTF-16-Kodierung. Ein alternatives Vorgehen
-
Thread
LED-Uhr mit Attiny26
habe ich festgestellt, dass ich eine 7-Segmentanzeigen-Uhr niemals "fertig" gemacht hatte, immer nur "BCD-Uhren"). Also: 7-Segment-Uhr mit ATmega328p die Hundertausendste! Auch wenn das in der Rubrik "Projecte & Code" wohl besser passen würde, poste ich das hier zum Thema, weil ich denke, dass es
Anzeigeraster, die +5V von der Ausgabe des logischen Teils in +(20-30)B auf Anoden und Gittern umwandeln. Es gibt drei Varianten des Schemas solcher Konverter. Der erste ist am einfachsten zu verwenden, ein spezieller Chip zur Steuerung des VLI. Solche Chips sind jedoch in der Regel teuer und schwer
-
Thread
Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?
Hexadezimalen macht beim Addieren, bei jedem Bit einen Überlauf (Wenn es dran ist, d.h. 1+1). Im BCD-Code muss man aber bei der 9+1, 6 hinzuzählen um 10 zu erhalten. Sehr umständlich. Da werden knapp 30% "verschenkt". Zum Glück, passen diese Zeichen in den 7-Segment-Code. LG. Enk
kann ich mir schon vorstellen. Es gibt ICs die können selber das Nibbel-Bitmuster in 7-Segment umwandeln. Bei dem MPF-1, sieht es aber nicht so aus. Man kann sich vorstellen, was die Hardware selber macht, braucht nicht programmiert zu werden. Ich wundere mich aber, dass das Prg, so kurz ist. Also
-
Thread
Hilfe - Umrechung 5 Byte! Array Dezimal => Hex. Gesperrt
Wahrscheinlichkeit deshalb, weil der Erfinder nich dran gedacht hat, dass das irgendwer mal in eine Zahl umwandeln will. Roger P. schrieb im Beitrag #7718584: > jedes Byte "geht" dezimal von 0-99 zu definieren. Weißt du inzwischen, was BCD ist? > Diese Nummer ist eben in 5 Byte abgelegt. Und nochmal
nichts weiter heist das du eine Zahl im Format "Packed BCD" (5 Byte/10 Stellen, Big-Endian) ins Binärformat umwandeln willst, (5 Byte/40 Bit,Big-Endian) Du muss mal schauen, dass Du die Fachbegriffe nicht vermischst, sonst versteht dich kein Mensch. Eine
-
Thread
PC8583 max Jahr oder doch was anderes?
) mov r6, a [/avrasm] Kann aber auch sein, daß nicht binär gerechnet wird, sondern in packed BCD. Assemblerprogrammierer machen das gerne, um die Umrechnung in Digits bei der Anzeige zu ersparen. C-Compiler rechnen nur binär.
Float Add 0x60EB: Float Mul 0x6163: Float Div 0x6212: Float Compare 0x6276: 32 Bit in Float umwandeln 0x627A: 16 Bit in Float umwandeln 0x627E: 8 Bit in Float umwandeln 0x62B2: Float in 16 Bit umwandeln [/code]
-
Thread
Windows Install. brauche ein Wutkissen
Windows10-Test-DVD. Installationsroutine normal. Kann man die nicht auch nehmen - nur dann eben umwandeln zu Vollversion?
Etwas Suche zeigt das hier: https://bojoklaff.net/loesungen/details/windows-evaluation-version-umwandeln
-
Thread
Mit Dachsolar E-Auto direkt laden
Problem darin, dass sich Leute zusammenschließen und ihre Überproduktion regional in Wasserstoff umwandeln, einspeisen und damit Geld verdienen. Wir haben eines der besten ausgebauten Gasnetze samt Speichern - es wäre dumm, das nicht auch zukünftig zu nutzen.
darin, dass sich Leute > zusammenschließen und ihre Überproduktion regional in Wasserstoff > umwandeln, einspeisen und damit Geld verdienen. Traumtänzer.
-
Thread
Frequenzerzeugung
Muss einen Wert von 0-50 (50-100 an einer 7-Segemten Anzeige) in eine > Frequenz von 10kHz-20kHz umwandeln mit eine Abstufung pro Schritt von > 200Hz: Den digtialen Wert per DAC (R2R-Widerstandsnetzwerk o.ä.) in eine Spannung 0 - x,x V umwandeln und damit einen U/F-Umwandler betreiben. Was nimmt
Andreas S. schrieb im Beitrag #7525736: > in eine > Frequenz von 10kHz-20kHz umwandeln Norbert schrieb im Beitrag #7525883: > Also in meinem Buch liegen zwischen 10 und 20000 deutlich mehr als > fünfzig 200er Stufen. Tja.
-
Thread
Hex zu Dez (BCD) in C
nicht "von hex in Dec umwandeln", Du möchstest Dezimal in (gepacktes) BCD konvertieren. https://en.wikipedia.org/wiki/Binary-coded_decimal#Packed_BCD Das geht so: [c] uint64_t toBcd(uint32_t decVal) { uint64_t bcdSum
32-Bit-BCD-Zahl (Wertebereich 0 - 99999999), deswegen uint64_t als Rückgabewert.
-
Thread
Hex to Dec -> C
. Sie sollte also bin_to_bcd oder decimal_to_bcd (oder eben wie üblich kurz bin2bcd) heißen, und zum Schluss müsste somit stehen "return bcd;"
Leo schrieb im Beitrag #7306121: > Und das macht ChatGPT bei BCD to Dez: > ... Die Funktion bcd_to_decimal kann optimiert werden zu [c] int bcd_to_decimal(int bcd) { return bcd > 0 ? bcd : 0; } [/c] Was war denn diesbezüglich deine Anfrage an ChatGPT
-
Thread
-
Thread
Unterschied zwischen cast und convert bei VHDL Datentypen?
gibt es zwei Möglichkeiten: 1. Die aktuelle Interpretation aufheben, also in ein Array an Bits umwandeln und dann neu interpretieren: signed(std_logic_vector(zahl)) 2. In eine Integer konvertieren und dann wieder zurückkonvertieren: to_signed(to_integer(zahl),4) Integer ist aber kein Array.
Werte x, u, h, l, 0, 1, z, -, w und nicht alle Kombinationen lassen sich sinnvoll in eine Zahl umwandeln. Ein besseres ist https://www.doulos.com/media/1486/numeric_std_conversions.gif Std-logic kam übrigens erst später zu VHDL dazu und ist einfach ein Package mit einem Enum mit diesen 9 Werten
-
Thread
ITOA ohne Division/Modulo
decimal‑literal 0xhex‑decimal‑literal https://www.mikrocontroller.net/articles/AVR_Arithmetik#Bin%C3%A4r_zu_BCD_-_Umwandlung das ist für hex der erste Schritt, umwandeln in BCD Je nach Algorithmus erhält man einzelne Ziffern oder "gepacktes" BCD mit zwei Stellen in einem Byte. Dann muss man vor die Einzelstelle
mir BCD? Wenn die Zahlen in BCD vorliegen ist es natürlich einfach, '0'(48) zu addieren. Liegen die Zahlen aber als INT vor müssen sie trotzdem durch Division/Modulo in BCD umgerechnet werden. Die meisten Zahlen
-
Thread
AT90USB162 Endpoint Interrupts funktionieren nicht
cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x00ff <Vendor specific> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x00ff idProduct = 0x00ff bcdDevice =
=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0110 bDeviceClass = 0x00ff <Vendor specific> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x00ff idProduct = 0x00ff bcdDevice
-
Thread
Wechselrichter Hoymiles HM-xxxx 2,4 GhZ Nordic Protokoll?
23, 40, 61 oder 75 -Paketlänge 27 Byte -Empfänger-Adresse: Letzte 8 Stellen Inverter Seriennr. BCD in "Little Endian" Und wenn dann das im Bild dargestellte Datenpaket gesendet wird, müsste euer Inverter theoretisch antworten.
HOY_ADDR eigentlich als komplette Serialnumber anzugeben oder bereits im um die "Modelnumber" gekürzten BCD Format, d.h. 0x56 34 12 73 01 ?
-
Thread
Einfacher Fehler in C-Berechnung
Und Division sollte man auch aus Rechenzeitgründen vermeiden resp. in Multiplikation mit Reziprok umwandeln. also statt [code] (-0,000004 * (LiftParamR1Vol/10) * (LiftParamR1Vol/10) [/code] simpler [code] -0.4E-7 * LiftParamR1Vol* LiftParamR1Vol [/code]
Division sollte man auch aus Rechenzeitgründen vermeiden resp. in > Multiplikation mit Reziprok umwandeln. Die Formel macht insgesamt keinen Sinn. Solange der TO nicht sagt, wo er das her hat, oder was das soll, ist es vergebliche Mühe.
-
Thread
7 Segment Multiplexing Zähler
> #include <util/delay.h> #define F_CPU 8000000 // Kodierung der 7 Segment Anzeige uint8_t bcd2seg [10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, // 0-4 0x6D, 0x7D, 0x07, 0x7F, 0x6F}; // 5-9 volatile uint8_t data[4] = 0; // data für Anzeige volatile uint8_t flag100ms; // Zahl in Daten für Anzeige umwandeln void convert(uint16_t zahl) { data[3] = ~bcd2seg[zahl % 10]; zahl /= 10; data[2] = ~bcd2seg[zahl % 10]; zahl /= 10; data[1] = ~bcd2seg[zahl % 10]; zahl /= 10; data[0] = ~bcd2seg[zahl
-
Thread
Spannungsregler und potis
Beitrag #6771802: > und 10 > mini Mosfets zum 10 Widerstände Schalten. Oder 4 Widerstaende und BCD-Schalter.
Dieter schrieb im Beitrag #6772235: > Oder 4 Widerstaende und BCD-Schalter. Wobei dann schon wieder Logik erforderlich ist (man könnte natürlich ein Flashwandler nehmen da gibt's ja tatsächlich auch BCD oder HEX codierte die kein µP brauchen aber der Preis und
-
Thread
Zahlensysteme - Script
niederwertigen Nibbles größer als 9 wurde dem höherwertigen Nibble 6 hinzuaddiert (prinzipiell eine BCD Kodierung)
es weiter mit "Ziffern 6938", die "keine Zahl" sind. 6938 ist eine Zahl, egal ob hex oder dez oder BCD. Wenn Du Ziffern meinst, dann trenne sie per Komma. Oder meinetwegen auch per "." wie die Binärzahl davor. BCD ist ein Missbrauch der binären Zahlenrepräsentation eines Computers. Er hat entweder BCD-Befehle
-
Thread
Windows UEFI boot reparieren
ohne Dateisystem. Ich vermute das von dieser gestartet wird und hier der Bootmanager drauf ist. easyBCD weiß wie man da rankommt, das habe ich ja vom gebooteten Windows benutzt. Vom RE aus kann ich das easyBCD nicht starten weil das .NET haben will. Für die Möglichkeit das von USB/DVD zu starten will
Mode im BIOS eingeschaltet lassen weil Windows keinen EFI Start hat. Da müsste ich die MBR in GPT umwandeln.
-
Thread
7 Segmentanzeige in Dezimal umwandeln Gesperrt
"NIXIE" Uhr bauen. Dazu müsste ich das 7-Segment-Signal des Uhrendisplays in ein Dezimalsignal umwandeln. Wie man von einem BCD-Signal zu einem Dezimalsignal kommt wäre mit einem 4028 möglich, nur wie komme ich von einem 7 Segment Signal zu einem BCD Code? Gibt es da Bausteine, so wie es umgekehrt
Segmenten der Uhr (wobei bei etlichen Displays schon intern Segmente zusammengeschaltet sind) dann Umwandeln in BCD-Code. Von da aus Weiterverarbeitung mit den (Latch)-Decoder-Treibern, die zu der Anzeige passen. Also der Schritt BCD noch dazwischen. Nicht direkt 1:10 wandeln. Jörg R. schrieb im Beitrag
-
Thread
Big Endian / Little Endian
Compiler legt eine Zahl immer binär ab, weil die CPU nur binär rechnen kann. Für das Rechnen in packed BCD braucht es spezielle Bibliotheken.
Sendepuffer einer Kommunikation zum Versenden zu kopieren. Ich würde das hier entweder in Strings umwandeln und als String "Speed=5000" übertragen, oder ein binäres Protokoll selbst bauen. Dann hast Du das selbst im Griff. Musst es aber selbst vorbereiten...
-
Thread
Analoges Signal zu binär-code.
Bausteinen ist zu beachten, dass sie die > Spannung nicht als Binärzahl ausgeben, sondern entweder als BCD oder > direkte Segmentsignale. BCD und Segmentsignale /sind/ Binärzahlen.
Rolf M. schrieb im Beitrag #6292046: > BCD und Segmentsignale sind Binärzahlen. Bei Binärzahlen müsste das fünfte Bit eine Wertigkeit von dez16 haben. Das ist weder bei BCD noch bei Segmentsignalen der Fall.
-
Thread
Lidl-Multimeter PDM-300-C2 Analyse und Erweiterungen
gut aus! Bedenke beim dekodieren das es teilweise üblich ist die LCD-Bitmap zu senden und nicht BCDs..
erhöht. Die angehängten Ergebnisse sprechen nicht für ein Siebensegment-Bitmap, sondern eher für BCD-kodierte Informationen.
-
Thread
C# Dezimal Zahlen und BCD Zahlen
auf die 101 rechnen kann. Eine Formel gibt es da nicht. Aber einen Algorithmus. Stelle =1, BCD=0 solange Dezimalzahl > 0 Ziffer = Dezimalzahl % 10 Dezimalzahl = Dezimalzahl / 0 BCD = BCD + Ziffer * Stelle Stelle = Stelle * 16 Für zwei Stellen kannst du das auch direkt hin schreiben
im Beitrag #6109793: > Eine Formel gibt es da nicht. > Aber einen Algorithmus. > > Stelle =1, BCD=0 > solange Dezimalzahl > 0 > Ziffer = Dezimalzahl % 10 > Dezimalzahl = Dezimalzahl / 0 > BCD = BCD + Ziffer * Stelle > Stelle = Stelle * 16 > > Für zwei Stellen kannst du das auch
-
Thread
DS3231 Zählfehler
Ds3231 zählt in bcd Nachtrag: lass es mal als hex ausgeben, dann erkennst du was das heißt
Ok mit dem Befehl var1 = Makedec(var2) kann man BCD Darstellung in Decimal umwandeln. Jetzt funktioniert es. Danke für die Hilfe Robin
-
Thread
Diskussion: Pi möglichst schnell berechnen
Beim Umwandeln hast du leider einen Denkfehler. Von Basis 16 auf Basis 10 benötigst du die vorhergehenden Stellen.
Frage schrieb im Beitrag #5808177: > BCD-Arithmetik wird ja nur im kaufmännischen Bereich verwendet. Und in Taschenrechnern. :-)
-
Thread
Gray Code und Zweierkomplement Addition
Ich habe eine Zahl im Gray Code welche Ich umwandeln würde und dann eine Zahl im Zweierkomplement. Ist es schlauer beide mit dem Datentyp signed zu rechnen oder eher wenn Ich es in unsigned rechne oder was würdet ihr empfehlen ? Danke für die
alten/ "y". BTW, als Stichwort für die Suche mit Google: was du machen willst, ist eine Binär-nach-BCD Umwandlung. Sieh dazu mal den https://www.mikrocontroller.net/topic/436619 und die Links darin an...
-
Thread
Vorschlag zu Hex-Ziffern auf 7-Segment-Anzeigen
dann auch noch komplett ausnutzt und vor allem trivial einfach zu dekodieren ist. 8-Bit binär nach BCD kann man mit etwas Aufwand noch umwandeln. Aber spätestens bei 16-Bit binär nach BCD ist Ende Gelände.
Axel S. schrieb im Beitrag #5694726: > 8-Bit binär nach BCD kann man mit etwas > Aufwand noch umwandeln. Aber spätestens bei 16-Bit binär nach BCD ist > Ende Gelände. Und das gibst Du dann auf 7-Segment-Displays aus? Vielleicht noch mit 4511 Decodern?