Arduino Daten wandeln

Im Unterforum Hardware, Betriebssysteme, Programmiersprachen - Beschreibung: Alles zu Software, Hardware, Windows, Linux, Programmiersprachen
Anfragen zu Modding, Games, Cracks, etc. unerwünscht.

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 26 12 2024  21:35:16      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Hardware, Betriebssysteme, Programmiersprachen        Hardware, Betriebssysteme, Programmiersprachen : Alles zu Software, Hardware, Windows, Linux, Programmiersprachen
Anfragen zu Modding, Games, Cracks, etc. unerwünscht.

Gehe zu Seite ( Vorherige Seite 1 | 2 )      


Autor
Arduino Daten wandeln
Suche nach: arduino (708)

    







BID = 1092419

BlackLight

Inventar

Beiträge: 5334
 

  



Zitat : Murray hat am  7 Jan 2022 08:38 geschrieben :
Also es ist eine HEX 58 am Gerät, er zeigt im Display auch 58 an.
[...]
Vielleicht war da wirklich mal ein Display mit BCD zu 7-Segment-Anzeige dran.
Das wäre für mich ein klassisches Beispiel für den "Binary Coded Decimal"-Code.
Wenn ich Wiki richtig verstehe, war der Hauptgrund tatsächlich die einfachere Anzeige/Ausgabe per BCD-zu-7-Seg-Dekodierer.


Zitat : Jornbyte hat am  6 Jan 2022 23:45 geschrieben :

Zitat :
Also aus HEX 58 ein HEX 3A (58) machen.

Ist das nun HEX 58 oder HEX 3A?
Oder soll das DEC 58 und HEX 3A sein?
Wer soll das Verstehen....
So langsam verstehe ich was Murray mit HEX sagen möchte. Ich hätte es eher binär oder direkt BCD genannt.
HEX ist hier nicht gleich 0x sondern eher sowas wie HEX-Vierertupel-BCD...

0101 1000BCD = binär(BCD) 58 = 58(10) = 0x38


Btw:
Für den Computer sind das alles nur Nullen und Einsen.
Witzig sind schon negative integer-Zahlen mit Betrag und Vorzeichen, dem Einerkomplement und Zweierkomplement.
Interessant wird es dann bei IEEE754-Gleitkommazahlen (32 bit).
Für 64 bit (double) hatte ich letztens nicht einmal so ein Tool finden können.

Dann gibt es noch zig andere Interpretationen von Nullen und Einsen.

BID = 1092426

roger34

Neu hier



Beiträge: 40

 

  

[quote]
BlackLight schrieb am 2022-01-07 17:56 :

Zitat : Murray hat am  7 Jan 2022 08:38 geschrieben :
Also es ist eine HEX 58 am Gerät,

0101 1000BCD = binär(BCD) 58 = 58(10) = 0x38



Nein. Ein Binärwert mit 8 Bit wird immer gleich interpretiert. Hier gibt es das BCD nicht.

Bin=0101 1000
HEx=0x58
DEC=88 Basis 10.

Ich glaube ältere Geräte hatten beim Wandeln vielleicht einen BCD ausgang für die Anzeige.






BID = 1092436

Murray

Inventar



Beiträge: 4887

Für die alten Siebensegmentanzeigen waren halt Dekoder mit BCD-Eingang üblich. Das stammt wohl noch aus den Zeiten wo es nicht mit LCD gemacht wurde.

Jetzt hänge ich bei der Datenübergabe über WLAN fest.
Kann mich da zwar anmelden aber da geht es nicht weiter. Kommt nichts auf meiner Domain an. Immer nur ">>> Client Timeout !" vom ESP.

Ein ähnliches Projekt über Ethernet mit Arduino lief damals gleich problemlos.
Gibt es da Unterschiede oder liegt das am ESP32?

BID = 1092440

BlackLight

Inventar

Beiträge: 5334


Offtopic :

Zitat : roger34 hat am  7 Jan 2022 19:33 geschrieben :
Nein. Ein Binärwert mit 8 Bit wird immer gleich interpretiert.
Sehe ich anders, je nach char, int, uint, pointer … stellt es jedes mal was anderes dar.
Oder reden wir aneinander vorbei?


Zitat :
Hier gibt es das BCD nicht..
Verstehe ich nicht.


@Murray: Bei ESP32 muss ich leider passen. Meine liegen noch eingeschweißt bei den LM317-Modulen…

BID = 1092443

Murray

Inventar



Beiträge: 4887


Zitat :
BlackLight hat am  7 Jan 2022 17:56 geschrieben :


0101 1000BCD = binär(BCD) 58 = 58(10) = 0x38



Das ist ja auch falsch.

das 1. ist binär, nicht BCD
das 2. ist HEX (oder halt BCD)
das DEC (10) ist nicht 58 sondern 88 = 0x58

BID = 1092445

Jornbyte

Moderator



Beiträge: 7190

Bei dem Durcheinander bin ich raus.

_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.

BID = 1092455

Murray

Inventar



Beiträge: 4887

Das war eine Geburt ...

Beim ESP32/Wifi muss man die HTTPClient-Bibliothek einbinden, dann geht das Schreiben auf die Domaine/Datenbank auch

BID = 1092460

BlackLight

Inventar

Beiträge: 5334


Offtopic :


Zitat : Murray hat am  7 Jan 2022 21:31 geschrieben :

Zitat :
BlackLight hat am  7 Jan 2022 17:56 geschrieben :


0101 1000BCD = binär(BCD) 58 = 58(10) = 0x38


Das ist ja auch falsch.

das 1. ist binär, nicht BCD
das 2. ist HEX (oder halt BCD)
das DEC (10) ist nicht 58 sondern 88 = 0x58
Einzig das 0x38 ist falsch, da müsste 0x3A (5810) stehen. Hab beim Abschreiben von Jornbyte offensichtlich nicht aufgepasst...

Ansonsten bleibe ich bei meiner Position. Das erste sollte BCD darstellen, da = 5810 gleich 0b0011 1010 wäre.
5 (0101) und 8 (1000) wiederum macht 0101 1000BCD.
Oder habe ich "16880958" = 1688095810 =0x0101953E (das Beispiel von oben) wieder falsch verstanden?

Wie gesagt finde ich ein Array of char mit 0-9-Codierung als HEX zu bezeichnen recht irreführend. Klar kann man zu allem HEX sagen und alles in einem Hex-Editor betrachten. Wenn da immer nur die Zeichen 0-9 auftauchen und kein A-F wäre das für mich ein Indiz für BCD und gegen das Hexadezimalsystem. Unter HEX würde ich immer das Hexadezimalsystem vermuten.

Wenn ich 5810 schreibe meine ich 5810. Oder von mir aus Fünfzig-acht, oder für ältere auch Achtundfünfzig.
War wie weiter unten meine Ausgangszahl, auch wenn sie in der Mitte steht.

###

Kann nicht widerstehen abschließend noch zwei Beispiele zu machen:

"58": 0101 1000BCD = 5810 = 0x3A = 0b0011 1010

"88": 1000 1000BCD = 8810 = 0x58 = 0b0101 1000

(Obwohl die fett markierten Zahlen in der Mitte der "Gleichung" stehen sind das meine Ausgangswerte.)



Zitat : Jornbyte hat am  7 Jan 2022 21:35 geschrieben :
Bei dem Durcheinander bin ich raus.
Ich jetzt auch.

BID = 1092467

Murray

Inventar



Beiträge: 4887

BCD ist ja eigentlich auch HEX, nur dass aus Definition das halt nur bis 9 geht.
Was will man da auch mit A-F, soll ja für den Menschen lesbar sein
Glaube die meisten Dekoder können aber auch die Buchstaben bis F auf den 7-Segment-Anzeigen darstellen.

Schon möglich dass nach Definition das halt kein HEX ist, ich habe das nie richtig gelernt und nur so nebenbei beigebracht.
Vor allen das C-Programmieren.
Gehe da bei vielem bestimmt Umwege was bedeutend leichter möglich ist.
Ich klicke ja oft nur fertige Bestandteile zusammen.
Habt jedenfalls viel geholfen, soweit erstmal alles ok

BID = 1092473

der mit den kurzen Armen

Urgestein



Beiträge: 17434

Binär = Basis 2, Dezimal = Basis 10 , Hex = Basis 16 !
Oder um es für dich leichter verständlich zu machen. Wir haben 10 Finger und zählen deshalb Dezimal. Hätten wir 16 Finger würden wir Hex zählen und mit nur 2 Fingern Binär.

_________________
Tippfehler sind vom Umtausch ausgeschlossen.
Arbeiten an Verteilern gehören in fachkundige Hände!
Sei Dir immer bewusst, dass von Deiner Arbeit das Leben und die Gesundheit anderer abhängen!

BID = 1092498

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
der mit den kurzen Armen hat am  8 Jan 2022 13:01 geschrieben :

Binär = Basis 2, Dezimal = Basis 10 , Hex = Basis 16 !
Oder um es für dich leichter verständlich zu machen. Wir haben 10 Finger und zählen deshalb Dezimal. Hätten wir 16 Finger würden wir Hex zählen und mit nur 2 Fingern Binär.


...und dann ist, besonders bei den unixoiden noch das Oktalsystem in Gebrauch, bei dem immer 3 Bit zu einer Ziffer 0..7 zusammengefasst werden.
https://de.wikipedia.org/wiki/Oktalsystem

Beachtet, was dort zu den Konventionen steht, anhand derer die Maschine (Compiler etc) und auch der Mensch erkennt, wie eine Zahl zu interpretieren ist.

Um die Verwirrung komplett zu machen:
Auf den grossen Kisten wird auch noch mit gepackten und gezonten Dezimalzahlen gearbeitet: https://www.ibm.com/docs/en/i/7.4?topic=type-zoned-decimal-format
Und bei den Gleitkommazahlen wird es richtig chaotisch, denn da gibt es ausser IEEE-754 noch andere Darstellungen, die zu anderen (mysteriösen) Rundungsfehlern führen, selbst wenn man die Source hat.

Hab ich alles auf der Systemebene und Debugging längst hinter mir. Jetzt klick ich meistens auch nur noch etwas zusammen und freu mich, wenn plausible Ergebnisse rauskommen.





BID = 1092535

Murray

Inventar



Beiträge: 4887

Wenn nur mal plausible Ergebnisse kommen würden.
Bis jetzt habe ich nur Nullen in der Datenbank.

Bin aber nun soweit dass auch eine Vorstufe zum Auslesen nicht mehr funktioniert.
Denke mal Hardwareproblem.
Morgen mal mit der Messtechnik drüber schauen.

BID = 1092561

Murray

Inventar



Beiträge: 4887

Fress mir doch ein Storch ...
Hatte im Testaufbau in der Lochrasterplatine ein Widerstandsbein nicht verlötet.
Hat die ganze letzte Woche funktioniert und gerade zu Hause am WE nicht.
Und heute früh mit dem RS232/TTL-Wandler und Auslesetool vom Hersteller ging es und danach mit dem ESP32 wieder nicht.
3 Tage Fehler gesucht deswegen in der Software

[ Diese Nachricht wurde geändert von: Murray am 10 Jan 2022 14:43 ]


Vorherige Seite      
Gehe zu Seite ( Vorherige Seite 1 | 2 )
Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 22 Beiträge im Durchschnitt pro Tag       heute wurden bisher 25 Beiträge verfasst
© x sparkkelsputz        Besucher : 182596984   Heute : 7019    Gestern : 6150    Online : 347        26.12.2024    21:35
6 Besucher in den letzten 60 Sekunden        alle 10.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0448880195618