abacom-online.de

Das offizielle Elektronik-Software Forum
Aktuelle Zeit: Donnerstag 21. September 2017, 07:46

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Copy and Paste String Konstante
BeitragVerfasst: Mittwoch 20. Januar 2016, 16:02 
Offline

Registriert: Montag 8. Oktober 2012, 22:49
Beiträge: 5
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 ?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Copy and Paste String Konstante
BeitragVerfasst: Donnerstag 21. Januar 2016, 08:53 
Offline
Site Admin

Registriert: Dienstag 23. September 2008, 10:54
Beiträge: 3150
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


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Copy and Paste String Konstante
BeitragVerfasst: Donnerstag 21. Januar 2016, 13:09 
Offline

Registriert: Montag 8. Oktober 2012, 22:49
Beiträge: 5
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…


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Copy and Paste String Konstante
BeitragVerfasst: Freitag 22. Januar 2016, 11:34 
Offline

Registriert: Mittwoch 4. November 2009, 18:32
Beiträge: 457
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


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Copy and Paste String Konstante
BeitragVerfasst: Freitag 22. Januar 2016, 12:31 
Offline
Site Admin

Registriert: Dienstag 23. September 2008, 10:54
Beiträge: 3150
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


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Copy and Paste String Konstante
BeitragVerfasst: Montag 25. Januar 2016, 11:01 
Offline

Registriert: Montag 8. Oktober 2012, 22:49
Beiträge: 5
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 | 3131-mal betrachtet ]
Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Copy and Paste String Konstante
BeitragVerfasst: Dienstag 26. Januar 2016, 10:00 
Offline

Registriert: Mittwoch 4. November 2009, 18:32
Beiträge: 457
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


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Copy and Paste String Konstante
BeitragVerfasst: Mittwoch 27. Januar 2016, 14:06 
Offline

Registriert: Montag 8. Oktober 2012, 22:49
Beiträge: 5
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?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Copy and Paste String Konstante
BeitragVerfasst: Donnerstag 28. Januar 2016, 09:20 
Offline
Site Admin

Registriert: Dienstag 23. September 2008, 10:54
Beiträge: 3150
Eine dahingehende Erweiterung z.Zt. nicht geplant.

_________________
ABACOM support


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Copy and Paste String Konstante
BeitragVerfasst: Freitag 26. Februar 2016, 10:59 
Offline

Registriert: Montag 8. Oktober 2012, 22:49
Beiträge: 5
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 ?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Copy and Paste String Konstante
BeitragVerfasst: Freitag 26. Februar 2016, 15:45 
Offline

Registriert: Mittwoch 4. November 2009, 18:32
Beiträge: 457
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


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Copy and Paste String Konstante
BeitragVerfasst: Dienstag 8. März 2016, 09:36 
Offline
Site Admin

Registriert: Dienstag 23. September 2008, 10:54
Beiträge: 3150
... 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.

Zitat:
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


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Deutsche Übersetzung durch phpBB.de