Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2021, 14:42   #1
Naska_Igorevna
Пользователь
 
Регистрация: 15.09.2013
Сообщений: 12
По умолчанию Помогите найти ошибку, пожалуйста

Передача/чтение данных com порты. Заранее спасибо
Изображения
Тип файла: png Безымянный.png (48.4 Кб, 35 просмотров)
Вложения
Тип файла: rar ConsoleApplication1.rar (32.4 Кб, 6 просмотров)
Naska_Igorevna вне форума Ответить с цитированием
Старый 16.07.2021, 15:00   #2
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 106
По умолчанию

А как у вас соединены COM3 и COM5?
ForenLi вне форума Ответить с цитированием
Старый 16.07.2021, 15:18   #3
Naska_Igorevna
Пользователь
 
Регистрация: 15.09.2013
Сообщений: 12
По умолчанию

Кабелем нуль модемным, вроде так правильно называется

Последний раз редактировалось Naska_Igorevna; 16.07.2021 в 15:48.
Naska_Igorevna вне форума Ответить с цитированием
Старый 16.07.2021, 21:07   #4
ViktorR
Участник клуба
 
Регистрация: 23.10.2010
Сообщений: 1,883
По умолчанию

У вас есть строка:
Код:
byte[] Data = Encoding.UTF8.GetBytes(str);
Ту выполняется кодирование сообщения перед передачей.
По моим понятиям, после приёма, должно быть декодирование.
Что-то вроде Decoding.
В вашем коде этого не наблюдается.

Это вроде C#, но тут я профан.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 19.07.2021, 13:41   #5
Naska_Igorevna
Пользователь
 
Регистрация: 15.09.2013
Сообщений: 12
По умолчанию

Да дело не в декодировании, а в том, что неправильно данные с порта считываются, а считать правильно не получается, всеми способами уже пробовала
Naska_Igorevna вне форума Ответить с цитированием
Старый 19.07.2021, 14:29   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 3,499
По умолчанию

Настройка скорости приёма и передачи на обоих портах совпадает? Число стоп-бит ?
digitalis вне форума Ответить с цитированием
Старый 19.07.2021, 16:17   #7
Naska_Igorevna
Пользователь
 
Регистрация: 15.09.2013
Сообщений: 12
По умолчанию

Да, все совпадает, предположительно при считывании, каждый байт сдвигается на единицу, но непонятно по какой причине
Naska_Igorevna вне форума Ответить с цитированием
Старый 19.07.2021, 18:15   #8
ViktorR
Участник клуба
 
Регистрация: 23.10.2010
Сообщений: 1,883
По умолчанию

Цитата:
Да дело не в декодировании, а в том, что неправильно данные с порта считываются
А как вы понимаете, что данные неправильно считываются с порта?
Код:
sp1.Write(Data, 0, Data.Length);
Тут вы отправляете в порт данные.
Посмотрите на Data в этом месте и сравните с тем, что получаете.
И с чего это вы решили, что дело не в декодировании?
Что делает эта строка вашими данными?
Код:
byte[] Data = Encoding.UTF8.GetBytes(str);
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 19.07.2021, 18:32   #9
Naska_Igorevna
Пользователь
 
Регистрация: 15.09.2013
Сообщений: 12
По умолчанию

Цитата:
Тут вы отправляете в порт данные.
Посмотрите на Data в этом месте и сравните с тем, что получаете.
Спасибо, конечно, но я знаю, что там запись в порт))))))))))) и массивы байтов давно все сравнила, собственно, поэтому и пишу, что считывается неправильно, при том, что запись в порт точно правильна.

Последний раз редактировалось Naska_Igorevna; 19.07.2021 в 18:35.
Naska_Igorevna вне форума Ответить с цитированием
Старый 19.07.2021, 18:35   #10
Naska_Igorevna
Пользователь
 
Регистрация: 15.09.2013
Сообщений: 12
По умолчанию

Цитата:
Что делает эта строка вашими данными?
Код:
там перевод строки в массив байтов, обратно я не перевожу, сразу вывожу на экран считанный массив
Naska_Igorevna вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, найти ошибку в коде (найти сумму факториалов чётных чисел в заданном диапазоне) kris14 Паскаль, Turbo Pascal, PascalABC.NET 8 25.10.2017 15:42
Помогите найти ошибку пожалуйста никита134245 Паскаль, Turbo Pascal, PascalABC.NET 3 28.12.2015 12:53
C# пожалуйста помогите найти ошибку Olgazag Свободное общение 16 11.12.2013 06:33