LabVIEWForum.de - CRC XOR berechen , string vergleichen und ersetzen

LabVIEWForum.de

Normale Version: CRC XOR berechen , string vergleichen und ersetzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Dexter,

wenn du einen Buffer-Overflow hattest, musst du den Buffer wohl öfter mal leeren...
(27.07.2012 13:22 )GerdW schrieb: [ -> ]wenn du einen Buffer-Overflow hattest, musst du den Buffer wohl öfter mal leeren...
Wohl wahr, und die Schwachstellen sind ja offensichtlich.
Ein typische standardmäßige Buffergröße für Visa liegt bei 1 kByte.
Bei 115000 Baud wäre der Buffer voll, wenn das Pedal mehr als ca. 0,1s gedrückt gehalten wird. (Wenn es keine Pausen zwischen den Datensätzen gibt)
Und wenn man den Buffer um ein Vielfaches vergrössert, lauert eine andere Gefahr: Nach 0.5 sec werden die Daten in einem VI gelesen, egal ob das Pedal noch gedrückt ist oder nicht.
Fazit: Programmierung nicht gerade spitzenmäßig.
Hallo Gerd, Hallo Lucki
ich habe den Buffer geleert, sieht gut aus aber ich merke dass einige Telegramme verloren gegangen sind.
irgendwie schafft mein Programm nicht alle Telegramme auszulesen und auch parallel die CRC zu berechnen!
wie kann ich dieses Problem lösen? Danke für Idee

so sieht jetzt meine Tabelle in Excel aus. Die 9eByte sollte eingenlich die gesend.Telegramme hochzählen, damit kann ich ein verlorene Telegramm merken
AA 21 4 0 0 0 0 4 50 DB
AA 21 4 0 0 0 0 4 51 DA
AA 21 4 0 0 0 0 4 54 DF
AA 21 4 0 0 0 0 4 55 DE
AA 21 4 0 0 0 0 4 56 DD
AA 21 4 0 0 0 0 4 5A D1
AA 21 4 0 0 0 0 4 5B D0
AA 21 4 0 0 0 0 4 5E D5
AA 21 4 0 0 0 0 4 5F D4
AA 21 4 0 0 0 0 4 60 EB
AA 21 4 0 0 0 0 4 64 EF
AA 21 4 0 0 0 0 4 65 EE
AA 21 4 0 0 0 0 4 69 E2
Hallo dexter,

wie sieht denn deine aktuelle Programmversion aus?
Ganz wichtige Zusatzfrage: Hat jedes Telegramm ein Zeilenendezeichen, also so wie von Dir gepostet, oder hast Du das nur aus optischen Gründen so als schöne Tabelle dargestellt?

Übrigens: Die Algorithmen der Prüfsummenbildung sind meist so beschaffen, dass, wenn man vom Telegramm inklusive angehängter Prüfsumme die Prüfsumme bildet, diese dann Null ergibt. Das vereinfacht die Prüfsummenkontrolle. Bei Dir scheint das aber nicht so zu sein. Ist kein Beinbruch, wollte das nur mal erwähnen.
Hallo Gerd
wie kann ich einen Buffer einstellen so dass er sich alle 20 s leert ? Ich verliere ab und zu Telegramme mit diesem Programmabschnitt in anhang
Besten Dank

[attachment=40897]
Hallo Lucki
die VISA resource Name wurde mit
Endzeichen 0xA = LF
Abschlusszeichen = F konfiguriert
es wird in Excel dann aussehen wie oben.
Danke
Hallo Dexter,

Zitat:die VISA resource Name wurde mit Endzeichen 0xA = LF, Abschlusszeichen = F konfiguriert, es wird in Excel dann aussehen wie oben.
- Wie es in Excel aussieht, ist uns egal.
- Wichtig: Welches End-Zeichen wurde denn nun eingestellt?
- Noch wichtiger: Sendet das Gerät überhaupt ein Endezeichen mit?

Zitat:wie kann ich einen Buffer einstellen so dass er sich alle 20 s leert ?
Von welchem Buffer redest du? Das Löschen musst du schon selbst übernehmen - das kann dann durchaus alle 20s sein...
(Wobei das kaum das eigentliche Problem lösen dürfte!)
Hallo Gerd
es wurde kein End-Zeichen programmiert. Jedes Telegramm hat eine konstante länge von 10 Byte und fängt immer mit AA an.
Also kein STX LEN CMD etc.
Seiten: 1 2
Referenz-URLs