Comment faire pour envoyer un caractère ASCII dans un programme C#
Pour mon programme C# pour travailler comme un port série de l'interface, j'ai besoin d'envoyer "ENQ" et s'attendent à dos "ACK".
De ce que j'ai compris dans les réponses à mes questions dans ce forum, je pense que le système attend de me l'envoyer '5', de lui donner un '6' (ASCII équivalents de ENQ et ACK).
Donc, au lieu d'envoyer une chaîne de caractères qui est "ENQ", puis-je envoyer un personnage qui est '5'?
Merci pour toutes ces réponses, qui a souligné que " 5 " n'est pas ASCII 5 en C#.
Bon j'ai lu les commentaires maintenant, je vais essayer:
serialPort.Write(new byte[]{5},0,1);
Vous devez vous connecter pour publier un commentaire.
Si vous êtes à l'aide de la SerialPort objet et la méthode WriteLine, essayez ceci:
À répondre aux commentaires, vous pouvez modifier la
SerialPort.NewLine
propriété d'être votre "fin de transmission", un personnage qui, dans ce cas, peut être de type char 5. J'ai développé à l'encontre de quelques machines utilisées ETX comme sa "fin de message à caractère". Si vous êtes en permanence à l'aide deWrite
et que vous devez écrire le char 5 à la fin de votre message, pensez à cette route.Envoyer un octet non signé par le port série, avec la valeur de 5.
Vous aurez besoin de vérifier, pour vérifier, mais tout ce qui va probablement être non signé, de sorte que vous pouvez obtenir de 0 à 255 valeurs.
Vous ne pouvez pas envoyer un caractère 5, en C# caractères tenir unicode 16 bits de caractères.
Vous pouvez envoyer un n octet non signé avec la valeur 5.