VBasic > Delphi ich verstehe das was nicht
Hallo,
ich habe mir die Relaiskarte K8056 von Velleman gekauft und möchte eine eigene Anwendung dafür in Delphi entwickeln. In der Anleistung steht, dass die Befehlsfolge so ausehen muss: Zitat:
Zitat:
Code:
Niergendwo ist definiert was checksum eigentlich für ein Typ sein soll, das macht es für mich ja noch schwerer. Ihr könnt euch das Programm hier runterladen, wenn euch das hilft. der Code ist in der Datei "K8056.frm".
checksum = (255 - ((((13 + address + Asc("S") + Asc("4")) / 256) - Int((13 + address + Asc("S") + Asc("4")) / 256)) * 256)) + 1
Der Com-Port muss so konfiguriert werden: Baud: 2400 Paritätt: Keine Databits: 8 Stopbits: 1 Weiss jemand wie man das in Delphi umsetzt? Danke im Voraus |
Re: VBasic > Delphi ich verstehe das was nicht
ja
Delphi-Quellcode:
ich habs zwar nicht im compiler ausprobiert - sollte ab so laufen.
var
checksum: byte; // vieleicht integer begin checksum := (255 - ((((13 + address + ORD("S") + ORD("4")) / 256) - ((13 + address + ORD("S") + ORD("4")) DIV 256)) * 256)) + 1 |
Re: VBasic > Delphi ich verstehe das was nicht
ich habe es ausprobiert aber bekomme immer die Meldung:
[Fehler] Unit2.pas(41): E2010 Inkompatible Typen: 'Byte' und 'Extended' bzw. [Fehler] Unit2.pas(41): E2010 Inkompatible Typen: 'Integer' und 'Extended' Dann habe ich checksum als Extended definiert aber dann bekomme ich den nicht mehr in den String reinkopiert :x |
Re: VBasic > Delphi ich verstehe das was nicht
Ersetz das "/" durch ein div.
|
Re: VBasic > Delphi ich verstehe das was nicht
Damit dir die Mathematik dahinter etwas deutlicher wird:
Delphi-Quellcode:
Den VB Code hat offensichtlich jemand verfasst, der nicht wusste, dass es dort auch einen Mod-Operator gibt. Ist sogar noch ein Fehler drin: es kann nämlich (theoretisch) 256 herauskommen.
// Das hier ist die Summe der Ascii-Zeichen des Befehls
sum := 13 + address + Ord('S') + Ord('1'); // Wähle die Prüfsumme so, dass alle 5 Zeichen addiert im low byte 0 ergeben crc := (256 - sum) mod 256; |
Re: VBasic > Delphi ich verstehe das was nicht
ist dieses "CHR$" eingentlich eine Routine? Ich habe ehrlich gesagt keinen Plan von VB :stupid:
Ach ja und wenn ich über mein Prog ein Befehl sende, blitzt die Lampe für den Port auf der Karte nicht einmal auf :gruebel: Dabei habe das richtig konfiguriert :gruebel: |
Re: VBasic > Delphi ich verstehe das was nicht
schau mal bitte in diesen Thread -> http://www.delphipraxis.net/internal...light=velleman
dann sollten sich Deine Fragen von alleine beantworten. Grüße Klaus |
Re: VBasic > Delphi ich verstehe das was nicht
Danke für den Link Klaus :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz