Copy and Paste String Konstante

Dieser Bereich dient dem Austausch über geplante oder bereits realisierte Projekte - von Anwender zu Anwender.
Antworten
SV Multimedia
Beiträge: 5
Registriert: Montag 8. Oktober 2012, 22:49

Copy and Paste String Konstante

Beitrag von SV Multimedia » Mittwoch 20. Januar 2016, 16:02

Hallo,
Ich habe ein Problem:
Ich habe eine Datei mit einigen hundert Zeichen (Binärdatei) die ich in eine String Konstante bringen muss.
Wen ich die Datei z.B. mit dem Editor öffne und per “Copy and Paste“ in die Konstante einfüge werden aus Zeichen mit dem ASCI Wert 00 Hex eine Zeichen mit dem ASCI Wert 20 Hex.
das Problem scheint die Zwischenablage zu sein.
gibt es eine alternative eine String Konstante zu füllen ?

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Copy and Paste String Konstante

Beitrag von abacom » Donnerstag 21. Januar 2016, 08:53

Welchem Zweck dient das?
Nullbytes sind keine darstellbaren Zeichen.
Möglichkeiten:
1.) "Datei - Bytes lesen" -Komponente
2.) RAM/ROM
3.) Manuell zusammensetzen: Summe$ = $ADD($Const + $chr(0) +$Const ...)
4.) ...?
ABACOM support

SV Multimedia
Beiträge: 5
Registriert: Montag 8. Oktober 2012, 22:49

Re: Copy and Paste String Konstante

Beitrag von SV Multimedia » Donnerstag 21. Januar 2016, 13:09

ich habe ein eine Binäre Datei mit Einstellungen die ich über den CH341a per i²C auf einen Chip überspielen will. Das mit Byte lesen hab ich auch schon probiert, das dauert bei bis zu 4096 Bytes relativ Lange. wen man es sauber lösen möchte (bei hohen tackt Raten verschiebt sich gelegentlich was.
Das Rom ist Ebenfalls Langsamer und vor allem kann ich meine Datei nicht Importieren.
Das zusammensetzen ist zwecks Import der Datei nicht Möglich.

Also Generell finde ich dass die Datei Import und Export Funktionen noch etwas ausgeweitet werden sollten.

Ein Baustein der eine Datei Lessen und als String ausgeben kann wäre oft hilfreich mit der Vorgabe des ersten Zeichen und Länge … des zu lesenden Strings.
Oder auch ein Import / Export von Hex Dateien hätte mir zumindest schon oft geholfen…

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Copy and Paste String Konstante

Beitrag von IKT » Freitag 22. Januar 2016, 11:34

SV Multimedia hat geschrieben:ich habe ein eine Binäre Datei mit Einstellungen die ich über den CH341a per i²C auf einen Chip überspielen will.
Wofür also das Ganze in String konvertieren? Diese Konvertiererei "frisst" Zeit!
Warum nicht binär herein --> binär heraus (ohne Konversionen dazwischen)?
BTW: binär / HEX = dasselbe (nur eine andere Form der Darstellung!)

Ohne eine präzise Beschreibung des vorliegenden Problems (so detailiert wie möglich), wird es nahezu unmöglich, eine vernünftige Lösung zu finden.
++++++
Gruss/regards IKT

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Copy and Paste String Konstante

Beitrag von abacom » Freitag 22. Januar 2016, 12:31

Ich finde die Anregung von SV Multimedia prinzipiell ganz richtig.
Einige Funktionen (hier der CH341A) erwarten halt $Parameter für die Datenübergabe.
Allerdings ist die Datenlänge (4kB) erstaunlich :shock: groß.
Was wird denn da alles in einem Rutsch ausgegeben???
I²C-Kommandos sind doch eigentlich eher nur ein paar wenige Bytes lang.
Die $Länge in PL ist übrigens begrenzt! Es wird also ohnehin "häppchenweise" gehen müssen.
P.s. Den Vorschlag "Eigene DLL" habe ich oben vergessen zu erwähnen.
ABACOM support

SV Multimedia
Beiträge: 5
Registriert: Montag 8. Oktober 2012, 22:49

Re: Copy and Paste String Konstante

Beitrag von SV Multimedia » Montag 25. Januar 2016, 11:01

Hallo und danke für die Anregungen,

zum Thema Konversionen meine Feststellung ist eher eine andere, die String Bausteine Arbeiten Hoch effizient ich würde mir für PL 5 in Wünschen das sich da noch etwas Tut, die Auswahl an Bausteinen ist ja im Vergleich zu den anderen noch nicht so groß.

Also meine Anwendung ist das Inbetriebnahmen und Testeten einer Platine die mit einem ASIC Bestück ist.
Dieser Liest beim normalen Starten seine Konfiguration aus einem I2C SEEP.

Ich habe nun Einen Testablauf vor bei dem ich das SEEP mit einer Test Konfiguration Beschreibe,
das Ganze in 4 Blöcken a 512 Bytes mehr kann der CH314 nicht.

(an der Stele ist übrigens die Doku etwas dürftig genauso steht außer in den Beispielen nirgends wie die Pins des Bausteines zu verwenden sind.)
Nach dem Beschreiben gebe ich über einen IO Pin des CH314 den Reset des ASIC Frei und teste sein verhalten über einige weitere I/O Pins.
Danach wird Die endgültige (Auslieferzustand) Konfiguration ins SEEP Geschrieben (natürlich mit Rücklesen und Vergleich…) hierbei werden wider ca. 4kB Geschrieben allerdings einige Zellen durch Serien Nummer… Ersetzt.

was mich gleich zum Nächsten Problem Führt
(ev. Gibt’s das auch)
die umwandeln von Hex werten aus einem String Eingabefeld in Bytes.
anders rum geht das ja mit „FMT“ Problemlos
(Siehe Anhang die Textkonstante ist nur ein Lehrzeichen zur besseren Lesbarkeit in der Anzeige.)

Das mit der DLL hab ich mir auch schon überlegt.
Allerdings ist eine Integrierte Lösung natürlich schöner und bringt ev. Auch dem eine oder anderem etwas mehr.
Dateianhänge
Zwischenablage.jpg
Zwischenablage.jpg (65.06 KiB) 14566 mal betrachtet

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Copy and Paste String Konstante

Beitrag von IKT » Dienstag 26. Januar 2016, 10:00

SV Multimedia hat geschrieben:Das Umwandeln von HEX-Werten aus einem String Eingabefeld in Bytes (auf Deutsch)
Dies ist einfach, solange nur ein Byte eingegeben wird (00 bis FF):
1 x String Konstante ("$")
1 x String Eingabefeld
hinterher:
1 x String Addierer (zwei Eingänge), wobei:
Eingang 1 = Konstante, Eingang 2 = Eingabefeld
hinterher:
1 x $VAL Baustein ... fertig!

Bei Eingabe von mehreren Bytes wird eine (dezimale) Fliesskomma-Zahl ausgegeben ...
++++++
Gruss/regards IKT

SV Multimedia
Beiträge: 5
Registriert: Montag 8. Oktober 2012, 22:49

Re: Copy and Paste String Konstante

Beitrag von SV Multimedia » Mittwoch 27. Januar 2016, 14:06

Darf man sich den nun Auf ein Update von PL mit einem neuen Datei Lesse Baustein oder ähnlichem freuen oder muss ich selber tätig werden?

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Copy and Paste String Konstante

Beitrag von abacom » Donnerstag 28. Januar 2016, 09:20

Eine dahingehende Erweiterung z.Zt. nicht geplant.
ABACOM support

SV Multimedia
Beiträge: 5
Registriert: Montag 8. Oktober 2012, 22:49

Re: Copy and Paste String Konstante

Beitrag von SV Multimedia » Freitag 26. Februar 2016, 10:59

so nun hab ich eine DLL aber ein Problem mit Der Schnittstelle in der DLL den Strings werden in "0" Terminiert
was bei einer Binär Datei sehr Unpraktisch ist den da kann jederzeit eine "0" vorkommen.
gibt's dafür irgend eine Lösung ?

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Copy and Paste String Konstante

Beitrag von IKT » Freitag 26. Februar 2016, 15:45

Nur so eine Idee: CR&LF anhängen (in String, terminierendes 0 kommt danach).
In PL-Prog. danach suchen und den Rest "ins Nirvana" schicken (ignorieren)!
++++++
Gruss/regards IKT

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Copy and Paste String Konstante

Beitrag von abacom » Dienstag 8. März 2016, 09:36

... wenn schon DLL, dann würde ich in der eigenen DLL gleich das CH341A-API direkt ansprechen.
Es gibt keinen Grund dann erst Strings an PL zu übergeben.
CH341A I²C API-Funktionen (in CH341API.DLL)
Function CH341StreamI2C(...) Allgemeines Lesen und Schreiben über I²C
Function CH341ReadI2C(...) Lesen von Chips mit interner Speicher- oder Registeradresse
Function CH341WriteI2C(...) Schreiben von Chips mit interner Speicher- oder Registeradresse
Function CH341ReadEEPROM(...) Lesen von I²C-EEPROM
Function CH341WriteEEPROM(...) Schreiben in I²-EEPROM
ABACOM support

Antworten

Zurück zu „PROFILAB Kundenprojekte und Aufgabenstellungen“