С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 16
.NET 4.x

Поиск последовательности байт в массиве, приходящем из СОМ-порта

09.04.2020, 13:41. Показов 1454. Ответов 1

Студворк — интернет-сервис помощи студентам
Ещё раз здравствуйте.
Из последовательного порта приходит несколько ненужных байт каждые 2-3 секунды, затем в определённое время следует нужная посылка.
Задача состоит в том, чтобы читать всё, что идёт в программу и игнорировать до тех пор, пока не будет послана определённая стартовая последовательность,
после чего считать определённое количество байт и снова игнорировать всё остальное до получения стартовой комбинации.

Грубо говоря:

мусор | старт.последов. | нужные нам данные | мусор
E6 F4 | AA AA AA AA AA | 55 FF DC DD 33 50 FF | C0 00

Есть ли не слишком адский способ?
Или слишком адский, подойдёт любой, сам новичок и дико торможу..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.04.2020, 13:41
Ответы с готовыми решениями:

Потеря байт при записи данных из СОМ порта на SD карту
Доброго времени суток! Есть задача прочитать поток данных, поступающих из СОМ-порта. Данные сохраняются в файлы размером не более 1 МБ....

Как написать на masm под х86 функцию поиска кол-ва вхождений последовательности байт в большом массиве байт?
Привет! В общем читаю я файл (большой) и хочу найти кол-во вхождений в этот файл некоторой последовательности байт, допустим "AC DF...

Поиск и замена последовательности байт в файле
Ребят, умеет ли кто-то из вас работать с бинарниками? Нужно найти определенную последовательность байт, вот она: и заменить...

1
Эксперт .NET
 Аватар для Rius
13052 / 7618 / 1664
Регистрация: 25.05.2015
Сообщений: 23,162
Записей в блоге: 14
10.04.2020, 14:20
Складывать всё в очередь ConcurrentQueue<byte> по приёму.
В отдельной задаче считывать, подсчитывая количество 0xAA.
Как дойдёт до пяти, получить или дождаться получения ещё 7 байт.
Остальное сбросить, если не нужно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.04.2020, 14:20
Помогаю со студенческими работами здесь

Поиск байт в массиве
procedure TForm1.N2Click(Sender: TObject); var z: integer; d: byte; f: file of byte; begin if OpenDialog1.Execute...

Поиск в массиве байт
Как произвести поиск в массиве байт? Имеем массив байт А, в нем необходимо выполнить поиск массива В. Как я понимаю, мне необходимо...

Поиск цепочки байт в массиве
И снова вопрос по поводу байтов, а точнее по поводу поиска в массиве байтов. Сейчас использую следующий цикл, который перебирает массив,...

От СОМ-порта к OpenGL
Ещё раз здравствуйте! Проблема в следующем: с СОМ-порта поступают данные, я их обрабатываю и всё вроде ничего... НО! Если принимать...

Прерывание от сом порта
Читаю с порта данные, т.е. данные в буфер приходят нормально, но я наверно чет пропустил и не могу понять почему не отрабатывает прерывание...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru