Для моей программы на C#, чтобы работать как интерфейс последовательного порта, мне нужно отправить «ENQ» и ожидать «ACK».Как отправить символ ASCII в программе C#
Из того, что я понял в ответах на мои более ранние вопросы на этом форуме, я думаю, что система ожидает, что я отправлю «5» и вернул «6» (эквиваленты ASCII ENQ и ACK).
Итак, вместо отправки строки, которая является «ENQ», я могу отправить символ, который равен «5»?
Спасибо за все ответы, в которых указано, что «5» не является ASCII 5 в C#.
Хорошо, я читал комментарии сейчас, я попробую:
serialPort.Write(new byte[]{5},0,1);
Таким образом, он отправил бы два байта, а не один. – EricSchaefer
и WriteLine отправили бы CRLF после того, как тоже может быть не то, что вы хотите – tjmoore
На самом деле это нормально. SerialPort по умолчанию кодирует как ASCIIEncoding, а что-то большее, чем 127, кодируется как значение 63 (http://msdn.microsoft.com/en-us/library/y2sxhat8.aspx). CRLF по-прежнему стоит, но, возможно, это то, что вам нужно. Тебе нужно будет проверить. – tjmoore