Читать всю строку по последовательному порту в C # - PullRequest
2 голосов
/ 13 апреля 2011

Привет, ребята

Я пытаюсь прочитать строку, отправленную через последовательный порт, сначала я использовал функцию readline (), но так как строка содержит несколько строк, я должен выполнить цикл. Как определить, достиг ли я конца строки , или есть способ, которым я могу прочитать всю строку, используя другую, а затем readline, что не зависит от новой строки.

Спасибо

Jp

Ответы [ 2 ]

2 голосов
/ 13 апреля 2011

Нет волшебных способов, кроме протоколов, используемых по проводам.

Если вы отправляете с другой конечной точки, вам нужно добавить что-то в конец строки, которая сообщает получающей конечной точке, что все было отправлено.

Если вы не разработали другую конечную точку, вам нужно спросить производителя / разработчика, как вы можете определить конец строки.

Довольно стандартный способ пометить начало и конец последовательных сообщений - использовать символы ASCII STX / ETX (0x2 и 0x3 в таблице ASCII)

1 голос
/ 13 апреля 2011

ETA: Это не очень хорошая идея, так как вы не знаете, когда дойдете до конца строки.

Я не знаю об аспекте последовательного порта, но, если у вас естьПоток и все данные доступны, вы можете обернуть их в StreamReader и вызвать ReadToEnd .

...