Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 22.02.2015
Сообщений: 74
1

Как считать с COM порта определенное количество байт с определенного офсета

22.02.2015, 21:11. Просмотров 1404. Ответов 6
Метки нет (Все метки)

Подскажите, пожалуйста, как считать с ком порта определенное количество байт и главное с определенного офсета.
Как я понял, serialPort1.Read как раз это и делает, но если написать вот так
C#
1
serialPort1.Read(abc, 7, 10);
то считывается 10 байт с нулевого офсета! Т.е. мне надо пропустить чтение первых 7 байт.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2015, 21:11
Ответы с готовыми решениями:

Как считать определённое количество цифр заданного числа (считать число до заданной цифры)?
как считать число 12345 до символа 5? То есть 1234 присвоить другой переменной?.:wall:

Считать байт из порта RS232 пик контролера
Доброго времени суток Всем. Помогите разобраться с портом RS232. Ни как не получается считать на...

Считать определенное количество символов из файла
Здравствуйте. У меня возникла необходимость считать из файла по одному символу. Тоесть у меня в...

Считать из текстового файла определенное количество символов
Добрый вечер уважаемые форумчане у меня такой вопрос как из текстового файла считать определенное...

6
Модератор
Эксперт .NET
5294 / 4089 / 1182
Регистрация: 12.10.2013
Сообщений: 11,890
Записей в блоге: 2
22.02.2015, 21:23 2
Принтер, да считайте все, а потом ненужные можете выкинуть))
0
0 / 0 / 0
Регистрация: 22.02.2015
Сообщений: 74
22.02.2015, 21:39  [ТС] 3
Я об этом думал, но познания у меня в программировании скудные. Вообще, в идеале я хочу выводить ASCII и байты в ричбокс, например. Т.е. чтобы видеть что приходит в порт. Попробовал вот так, но это для чтения аски, и читается все, а нужно по хорошему прочитать 10 байт начиная с 7 байта.

richTextBox1.Text += serialPort1.ReadExisting() + "\n";

Помогите, как можно отсеять ненужное? И плюс я бы очень хотел вывести входящий поток байтов( а не аски) в ричтекстбокс2, например.
0
Модератор
Эксперт .NET
5294 / 4089 / 1182
Регистрация: 12.10.2013
Сообщений: 11,890
Записей в блоге: 2
22.02.2015, 21:48 4
Цитата Сообщение от Принтер Посмотреть сообщение
как можно отсеять ненужное?
Ну я же говорю, считать все и выбросить то что не нужно.
Читать можно по разному, но смысл там один, порт работает с байтами, а как мы их представим - зависит от нашего желания. Я предпочитал работать с байтами. Читать их можно через цикл (через SerialPort.ReadByte()) либо через чтение строки и преобразование ее в байты (через Encoding.ASCII.GetBytes(SerialPort.ReadExisting()))
1
0 / 0 / 0
Регистрация: 22.02.2015
Сообщений: 74
22.02.2015, 23:01  [ТС] 5
Супер! Спасибо!

Добавлено через 1 час 6 минут
Что-то я рано обрадовался) А как вывести в Richtextbox именно байты? Т.е. как я понимаю их надо конвертировать в строку сначала, но так чтобы сохранить вид байтов)
0
Модератор
Эксперт .NET
5294 / 4089 / 1182
Регистрация: 12.10.2013
Сообщений: 11,890
Записей в блоге: 2
22.02.2015, 23:06 6
Цитата Сообщение от Принтер Посмотреть сообщение
их надо конвертировать в строку сначала, но так чтобы сохранить вид байтов)
C#
1
string s = BitConverter.ToString(byte[] array);
0
0 / 0 / 0
Регистрация: 22.02.2015
Сообщений: 74
22.02.2015, 23:17  [ТС] 7
Спасибо, работает!)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2015, 23:17

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

Считать в переменную типа string определенное количество символов из потока ввода
Подскажите, пожалуйста, есть ли такая функция или что, чтобы я мог считать в переменную типа string...

Считать определённое количество данных по определённому смещению. Разбор ID3v2 mp3 тегов
Работаю с mp3 тегами. Задача - считать определённое количество данных по определённому смещению....


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.