Convertir en int pour octet HEXADÉCIMAL en C#

J'ai besoin d'envoyer une chaîne Hexadécimale de plus de la série à un appareil, je le fais maintenant comme ceci:

byte[] c = new byte[3];
c[0] = 0x57;
c[1] = 0x30;
ComPort.Write(c,0,c.Length );

Maintenant, j'ai besoin de convertir une valeur de type int comme 30 à c[1] = 0x30 ou un int valeur de 34 donne c[1] = 0x34.
J'espère que vous voyez ce que je veux dire.

Alors, comment puis-je gérer cela?

  • Qu'allez-vous faire si la valeur est 100?
  • les valeurs sont entre 30 et 39
  • Je ne comprends pas la question. Pourriez-vous essayer de développer un peu?
  • Est-il un autre moyen pour envoyer un HEX de commande par le port série, je viens de découvrir que je peux le faire sur le "byte[] c = new byte[3]" et par la suite avec ComPort.Write(c,0,c.La longueur );
  • Vous devriez plutôt modifier votre entrée par exemple 48 de 30 de sorte que vous obtenez 0x30 à partir d'elle.
  • Ce qui s'est passé à l'octet c[2]? Est est à dessein qu'il reste zéro?
  • raté c[2] c'est aussi une valeur, cependant ce que je peux changer le code:(byte)(48) et cela devrait me donner 0x30???
  • Oui, (byte)48 est la même que sa représentation hexadécimale (byte)0x30.
  • nice il ne fonctionne pas de cette façon! merci beaucoup!!!!

InformationsquelleAutor user1235288 | 2012-08-03