Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 27
1

Пересылка Char[] через com port

27.03.2014, 08:42. Показов 1016. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Отправляю в com port запрос из 7 байтов
C#
1
byte[] send = new byte[] { 0x10, 0x04, 0x00, 0x52, 0x00, 0x01, 0x93 };
После получаю данные в char[7]
C#
1
2
port2.Read(rec,0,rec.Length);
char[] rec=new char[7];
Я должен получить то, что отправляю.
Вывожу массив так
C#
1
2
3
4
5
6
7
8
9
if (port2.BytesToRead > 0)
            {
                int x1 = rec[0];
                int x2 = rec[1];
                int x3 = rec[2];
                int x4 = rec[3];
                int x5 = rec[4];
                int x6 = rec[5];
                int x7 = rec[6];
Когда я отправляю массив из 8 элементов, например
C#
1
{ 0x10, 0x04, 0x00, 0x52, 0x00, 0x01, 0x93, 0 }
то получаю
C#
1
16 4 0 82 0 1 63
Т.е. я себе отправляю 8 байт, обратно приходят 7.
А если отправлю 7 байт
C#
1
 {0x10, 0x04, 0x00, 0x52, 0x00, 0x01, 0x93}
то ничего не выводится.

Вопрос в следующем: Что нужно сделать, что бы я мог отправлять 7 байт и получать тоже 7. Что я упускаю?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2014, 08:42
Ответы с готовыми решениями:

Через что предпочтительнее подключить монитор, через HDMI или Display Port?
Ребят, всем привет!) Подскажите, через что предпочтительнее подключить монитор, через HDMI или...

пересылка файла через сокет
Добрый день! Перейду сразу к делу - в нете полно примеров как пересылать файл с одной папки в...

Пересылка файлов через сокеты
Пишу чат, пытаюсь разобраться. Не выходит сделать передачу файлов. Помогите... Выдает ошибку...

Пересылка web траффика через клиент
Здравствуйте! Имеется серверное приложение, работающее на java и использующее WebEngine для...

6
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,332
Записей в блоге: 2
27.03.2014, 08:47 2
А с каким устройством через порт работаете? Или у Вас просто закольцованы RxD-TxD, и принимаете то же самое, что и отправляете?
0
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 27
27.03.2014, 09:07  [ТС] 3
2 виртуальных закольцованных кольца. Принимаю то, что отправляю

Добавлено через 18 минут
закольцованных порта *)
0
Заблокирован
27.03.2014, 09:08 4
Цитата Сообщение от f1r Посмотреть сообщение
port2.Read(rec,0,rec.Length);
char[] rec=new char[7];
особо не вникал, но rec объявляется после port2.Read
0
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 27
27.03.2014, 10:03  [ТС] 5
Цитата Сообщение от MansMI Посмотреть сообщение
особо не вникал, но rec объявляется после port2.Read
Это просто из кода вырвано. Конечно она объявляется до, иначе я бы не смог запустить

Добавлено через 39 минут
Мб это потому что char занимает 2 байта в памяти? По этому ему надо четное количество значений?

Добавлено через 4 минуты
Делаю количество элементов в массиве 5, выводит значения только тогда, когда отправлено 6 байт. Бред
0
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,332
Записей в блоге: 2
27.03.2014, 11:39 6
Так читайте из порта побайтно, в чем проблема. Есть же метод ReadByte(), вот его и используйте.
0
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 27
27.03.2014, 12:35  [ТС] 7
Цитата Сообщение от insite2012 Посмотреть сообщение
Так читайте из порта побайтно, в чем проблема. Есть же метод ReadByte(), вот его и используйте.
Пробовал, но возвращались только 0.
Уже разобрался. По моему я засунул заполнение массива перед чтением с порта
0
27.03.2014, 12:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2014, 12:35
Помогаю со студенческими работами здесь

Пересылка больших файлов через Socket
Привет Пишу клиент сервер и проблема такая При передачи маленьких файлов все ок, файл доходит...

Пересылка информации между компьютерами через com-порт
Кто-нибудь работал с com-портами на perl? Я соединил два com порта у компьютера и пытаюсь...

Пересылка почты с внутренних доменов через Domino
Уважаемые коллеги. Есть задача пересылки почтовой корреспонденции SMTP из внутренний доменов...

Пересылка письма с активным содержимым через Smtp
Смысл вот в чем. Стоит у клиента Лотус, нужно мне отправить ему письмо с кнопкой, там небольшая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru