Seite 1 von 2
Stringverarbeitung
Verfasst: Mittwoch 4. Dezember 2024, 18:01
von Binni
Hallo erstmal...,
kann mir jemand eine Tipp geben bei folgendem Problem:
Über die RS232 Schnittstelle lese ich String's die eine 16 Bit Binärzahl beinhalten.
z.Bspl: "32 " = Binär 5te Stelle, " 256" = Binär 9te Stelle, "32768" = Binär 16te Stelle.
mit 16 LED's soll der eingelesene String Binär angezeigt werden.
Vielen Dank im voraus:
Binni
Re: Stringverarbeitung
Verfasst: Donnerstag 5. Dezember 2024, 10:59
von funkybaer
Hallo Binni
Beide Strings in Analog werte umsetzen
Dann Addieren entsprechend
Anschliesend den AD wandler ran
fertisch
gruß
Re: Stringverarbeitung
Verfasst: Samstag 7. Dezember 2024, 15:24
von funkybaer
Aha - auch mal wieder Jemand der nicht mal ne Rückantwort gibt
Spart man sich die nächste Unterstützung ..............
Re: Stringverarbeitung
Verfasst: Samstag 7. Dezember 2024, 16:14
von Binni
Hallo funkybaer,
versuche seit gestern eine Antwort mit Versuchsprojekt zu schicken
nach dem Entwurf speichern.. ist alles weg.
Antworten tu ich grundsätzlich immer !
Der Tipp mit dem AD Wandler war gut. Was Du aber mit " beide Strings in Analogwerte wandeln..." gemeint hast habe ich nicht verstanden.
Da es mit dem Hochladen von Dateianhängen ( .prj )bei mir nicht klappt hier mein Versuch: Stringbaustein mit Taste takten. Ausgang auf AD Wandler
16 Bit Eingang und zur Kontrolle ein $Display . Grenzwerte AD Wandler: min 0 max 32768. Ausgänge AD Wandler 16 LED's.
Über USB werden von einem MEGA 2560 die Strings "1", "2",-------"16384","32768" bei jedem Takt eingelesen.
Test: Takt 1: Anzeige nichts, LED1 dunkel. Takt 2 : Anzeige 1, LED2 leuchtet. Takt 16: Anzeige 16384, LED16 leuchtet. Takt 17: Anzeige 32768,
alle LED's leuchten.
Problem: die erste LED bleibt dunkel, die 16 leuchtet bei 16384 statt bei 32768. Beim 17 Takt leuchten alle.
Stell ich die AD Wandlerauflösung auf 15 Bit funktioniert es, aber nur bis LED 15.
Was kann man nun tun?
MfG
Binni
Re: Stringverarbeitung
Verfasst: Samstag 7. Dezember 2024, 23:48
von funkybaer
Hallo
String aufteilen in Low String und High String ( richtige Stelle eintragen )
analog Werte umsetzen
High String Hochrechnen ( X 256)
Addieren
AD Wandler ran
fertig

- 16bit.jpg (41.57 KiB) 33330 mal betrachtet
Re: Stringverarbeitung
Verfasst: Samstag 7. Dezember 2024, 23:52
von funkybaer
Also ich sende die ersten 8 Bit Low - dann die nächsten 8 Bit high
Da string zeichen ja nur 8 Bit haben
Oder verwechselst du da was ?
Re: Stringverarbeitung
Verfasst: Sonntag 8. Dezember 2024, 00:01
von funkybaer
So sollte es eigentlich ausschauen
Re: Stringverarbeitung
Verfasst: Sonntag 8. Dezember 2024, 11:28
von Binni
Guten Morgen funkybaer,
ich wollte Dich ja nicht die ganze Nacht mit meinem Problem beschäftigen,aber Danke!!
Hab keine große Erfahrung mitPLE, versuch mich durchzubeißen aber wenns hakt dann bin ich für jede Hilfe dankbar.
Auf Deine Schaltung währe ich nie gekommen! Ich probiers gleich aus und gebe Bescheid.
MfG
Binni
Re: Stringverarbeitung
Verfasst: Sonntag 8. Dezember 2024, 11:31
von funkybaer
Hallo
wenns hilft passt es ja
So kannste Senden was Du willst
Gruß
Re: Stringverarbeitung
Verfasst: Sonntag 8. Dezember 2024, 22:16
von Binni
Hallo Funkybaer,
hab eben einen Roman zu der Schaltung verfasst.
Auf absenden gedrückt und ...Er ist verschwunden.
Kurzum :ich habs nicht hinbekommen.
Ich verfass morgen nochmal den Roman und schick in per POST
MfG
Binni
Re: Stringverarbeitung
Verfasst: Montag 9. Dezember 2024, 12:28
von funkybaer
Hallo Bini
Erst mal : Ein wenig mehr Info wäre gut . Von Was wird gesendet? - wie ist das komplette Protokoll ? Start und Ende Kondition?
Ist wie "was auf nem Blatt lesen und nicht wissen was ".....
Wenn du Strings empfängst besteht der String aus Variablen - Wert 0 - 256.
Du solltest Dir das erst mal mit z.B. Hterm anschauen . DAnn siehste ja was da kommt .
Also Werte wie 32xxx gibts da dann nicht - dann musste das anders machen . aber ein Wert 32xxx besteht ja aus 2 Byte - und die kannste ja entsprechend zusammensetzen ( siehe Beispiel)
Im Anhang mal eine Sendung mit Hterm empfangen.
Also Anfragen wie du gemacht hast können keinen vernünftigen Erfolg geben.
Gruß gerhard

- hterm.jpg (191.57 KiB) 33259 mal betrachtet
Re: Stringverarbeitung
Verfasst: Mittwoch 11. Dezember 2024, 00:23
von Binni
Hallo funkybaer,
du hast Recht String ist nicht so mein Fall !
Das Projekt: Kabelprüfgerät mit 16 Adern. Mit dem Mega setz ich einen Ausgang, dann werden 16 Eingänge nacheinander abgeklappert und erkannt, welcher oder mehrere davon Highsignal haben. Dann wird der nächste Ausgang gesetzt und wieder die 16 Eingänge abgefragt, bis alle 16 Aus und Eingänge abgearbeitet sind. Nach jeder Abfrage der 16 Eingänge wird ein String gesendet. Zum Testen sende ich folgende Strings:
1, 2 , 4, 8 ,16 , 32 , 64, 128, 256, 512, 1024, 2048, 4096, 8192,16384, und 32768. So sehen die auch im HTERM aus.
Jede dieser Zahlen steht für eine Binärstelle. 1= 1 Stelle, 2 = 2 Stelle, 4 = 3 Stelle, 8 = 4 Stelle,16 = 5 Stelle bis 32768 als 16 Stelle.
Mit den 16 Ausgängen des AD Wandlers werden dann 16 Duo LEDs angesteuert welche die Spalten einer Matrix mit 256 LEDs bilden.
Die oben gemessenen Strings werden mit Strings der vorhandenen Kabeldaten verglichen und mit einem weiteren AD Wandler auf die Zeilen LEDs
Geschaltet. So wird in der Matrix erkannt,welche Leitung von A nach B liegt und optisch angezeigt.
Wie gesagt die Strings direkt auf den AD Wandler hat genau das angezeigt was ich wollte. Allerdings siehe Beitrag vom 7.12.24
MfG
Binni
Re: Stringverarbeitung
Verfasst: Mittwoch 11. Dezember 2024, 19:33
von funkybaer
Hi Binni
Vl solltest du dann statt Com String empfangen Com Zahl empfangen machen ?
Also wenn schon Controller dann verwende ich nur Strings - kannst du doch im Controller schön trennen .
Gruß
Re: Stringverarbeitung
Verfasst: Donnerstag 12. Dezember 2024, 14:41
von Norman256256
Hi,
String zerlegen, so daß nur noch der Zahlencode im String vorhanden ist. Dann String in Zahl (integer) konvertieren. Anschließend mit dem DLL Makro dekodieren. Das Makro kann über den Einstellungen-Dialog konfiguriert werden.
THX
Re: Stringverarbeitung
Verfasst: Donnerstag 12. Dezember 2024, 19:16
von funkybaer
Hallo Norman
Leider wird von antivirus ein virus in deiner Zip Datei angezeigt.
Leider so nicht herunter zu laden .
Gruß Gerhard
Re: Stringverarbeitung
Verfasst: Freitag 13. Dezember 2024, 08:29
von Norman256256
Nochmal neu gezippt. Kaspersky meckert nicht.
Re: Stringverarbeitung
Verfasst: Freitag 13. Dezember 2024, 11:56
von funkybaer
Hallo Norman
Ist ja nix anderes wie der AD Wandler bei dem ich vorher den passenden String auswähle.
Für Binni wäre es ja nur sinnvoll wenn man da auch Word und DBWord anwählen kann - nicht nur das entsprechende Byte.
Gruß
Re: Stringverarbeitung
Verfasst: Freitag 13. Dezember 2024, 14:39
von Binni
Hallo zusammen, habe Dank eurer Hilfe einen Teilerfolg erzielt. Siehe Anhang.
Die Umsetzung läuft , egal mit String oder Zahl lesen.
MfG
Binni
Re: Stringverarbeitung
Verfasst: Freitag 13. Dezember 2024, 17:18
von funkybaer
Hi Binni
Wie funktioniert den das ? mit einem String direkt in den AD - Also analog Wert ?
DA gehört auf jedenfall ein String zu Analog Baustein rein
Re: Stringverarbeitung
Verfasst: Freitag 13. Dezember 2024, 17:56
von Binni
Hallo Funkybaer,
frag mich nicht warum? , aber so funktionierts. Der Zählerbaustein sorgt dafür, das die " 32768 " = 16 Stelle auch einzel angezeigt wird und nicht alle 16 LED aufleuchten und somit gelöscht werden.
Ist es normal, das beim AD Wandler bei dem Wert 32768 alle Ausgänge auf High gehen?
MfG
Binni