checksum & datalength für bluetooth
-
guten morgen und ja, ich schon wieder
ich will mit einem bluetooth-geräte daten verschicken. jedoch muß ich in das "Package Frame" die checksumme schreiben und die datenlänge bestimmen.ein frame sieht so aus:
start delimiter = 1byte
type identification = 1byte
opcode = 1byte
datalength = 2byte
checksum = 1byte
packet data = <datalength> bytes
end delimiter = 1bytedie einzelnen bytes liegen in hex form in strings (1 byte = 1 string (z.b. "\x02")) vor.
1: wie kann ich die datenlänge der packet data berechnen??
2: wie kann ich die checksumme ermitteln??mfg KoF
-
1: wie kann ich die datenlänge der packet data berechnen??
wie berechnen? die musst du doch selber vorgeben oder nicht?
2: wie kann ich die checksumme ermitteln??
das hängt zum einen davon ab worüber diese checksumme gebildet wird (vermutlich nur über die nutzdaten...)
dann musst du mehr oder weniger nur ne polynomdivision (ist nur ein einfaches xor verwenden wenn man nur nullen und einsen hat) drauf loslassen und den rest schickst du als checksum. das was du allerdings dazu wissen musst ist welches polynom verwendet wird.
-
KoF schrieb:
1: wie kann ich die datenlänge der packet data berechnen??
Wie lange ist der String (Datenpacket; bereits in hexadezimaler Form!), den du übergibst? Dann weißt du auch wie groß deine Datenlänge ist ;).
2: wie kann ich die checksumme ermitteln??
Das hängt ganz davon ab, wie die Checksumme errechnet werden muss. Dazu solltest du deine Spec über das Gerät konsultieren.