fonction pour calculer Block Check Character(BCC) en C#
Block Check Character(CCI)
J'ai besoin d'une fonction pour calculer Block Check Character(BCC) en C#.
01 30 02 4D 21 20 20 03
C'est la chaîne, comment dois-je calculer "Block Check Character" pour cette chaîne.
BCC = OU Exclusif de SOH pour ETX
SOH ID STX CODE ETX BCC
0x01 0x30 0x02 0x40 0x03
J'ai besoin d'ajouter des CCI et d'envoyer des données à COM.
Si possible, Veuillez me donner une fonction de sorte que je peux envoyer "01 30 02 4D 21 20 20 03" et obtenir la CCI.
Grâce
Avez-vous des données comme la chaîne "01 30 02 4D 21 20 20 03" ou que la séquence de valeurs d'octets new Byte[] { 0x01, 0x30, 0x02, 0x4d, 0x21, 0x20, 0x20, 0x03 }?
Monsieur, j'ai la chaîne "01 30 02 4D 21 20 20 03" merci
octet stt1 =0; string stt2 ="0130024D20212003"; byte[] arr = nouveau Système.Texte.UTF8Encoding(true).GetBytes(stt2); List<byte> byteList = new List<byte>(arr); stt1 = clsExt.GetBCC(arr); Voici comment je l'appelle...???? Et je suis arriver 66 merci
Monsieur, j'ai la chaîne "01 30 02 4D 21 20 20 03" merci
octet stt1 =0; string stt2 ="0130024D20212003"; byte[] arr = nouveau Système.Texte.UTF8Encoding(true).GetBytes(stt2); List<byte> byteList = new List<byte>(arr); stt1 = clsExt.GetBCC(arr); Voici comment je l'appelle...???? Et je suis arriver 66 merci
OriginalL'auteur | 2009-09-10
Vous devez vous connecter pour publier un commentaire.
De ce que je sais, c'est que la CCC est XOR de tous les octets dans un flux d'octets, à l'exclusion de la première déclaration d'intégrité ou STX jusqu'à la première ETX ou EOT. ETX est inclus dans le champ CCI. Diviser votre flux d'octets après chaque ETX et d'appel de fonction suivantes pour obtenir la CCI.
déposez une brève, mais complète, morceau de code qui vous donne 66 au lieu de 5c.
avec les valeurs données ci-dessus { 0x01, 0x30, 0x02, 0x4D, 0x21, 0x20, 0x20, 0x03 } je reçois 0x5D. Quand je change de i=1 à i=0 le code ci-dessus, le résultat est 0x5C. C'est probablement ce que vous voulez. Mais s'il vous plaît vérifier la documentation de la COM périphérique de programmation.
Désolé... pouvez-vous m'expliquer un peu plus comment vous est venue l'0x5D. Et dans la documentation c'est ce qu'ils ont mentionné, rien d'autre. "BCC = OU Exclusif de SOH pour ETX" Aussi, si possible, pouvez-vous me donner la syntaxe exacte comment appeler GetBCC fonction, depuis ce matin je reçois le message d'erreur " GetBCC a quelques arguments non valides...." merci
octet stt1 =0; stt1 = GetBCC("30024D20212003"); Est-ce correct d'appeler et obtenir la valeur... merci
OriginalL'auteur Vivek