Форум программистов, компьютерный форум, киберфорум
Наши страницы

Анализ данных с COM порта. Есть ли способ чтения файла в процессе его изменения? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как на основе того что лежит в переменной сделать переменную в объекте? http://www.cyberforum.ru/cpp-beginners/thread1246314.html
1. Ну есть у нас переменная string arg1 = "MyVar"; string arg2 = "propereties"; и потом можно было обратится через объект cout << object.MyVar; //отобразит propereties 2. Но может такое быть...
C++ Запустить стороннее приложение на выполнение Допустим, есть две программы. Вторая должна открыться, если пользователь, например, введет нужное значение в первой. Как так сделать? http://www.cyberforum.ru/cpp-beginners/thread1246305.html
C++ Программа для подсчета калорий выдает неправильный результат
Здравствуйте. Недавно начал изучать c++. Написал простую программу для подсчета калорий. Она выдаёт неправильный результат. При вводе данных: вес 71, рост 182, возраст 21 - выдает -123. А надо...
C++ Выяснить, содержится ли каждая из фамилий списка 2 в списке 1
Получил задание на летнюю практику вот, собственно содержание: "Заданы два перечня фамилий. Перечень 1 содержит n1 фамилию, перечень 2 - n2 фамилии. Выяснить, содержится ли каждая из фамилий списка 2...
C++ Возможно ли перевести любой файл в двоичную систему и записать результат в блокнот? http://www.cyberforum.ru/cpp-beginners/thread1246247.html
Здравствуйте, как получить двоичной код любого файла на С++ ? но так чтоб потом его можно было собрать назад в этот файл ?
C++ Не могу получить доступ к члену класса Недавно начал изучать C++ и SDL и появилась проблема с кодом. Я могу создать поверхность(см. код) с помощь thisFunctionWoks, но не могу создать ее при помощи thisFunctionDoesntWork. В первом случае... подробнее

Показать сообщение отдельно
John Prick
805 / 738 / 146
Регистрация: 27.07.2012
Сообщений: 2,111
Завершенные тесты: 3
25.08.2014, 22:57
Urban_88, в общем случае можно сделать так:
1) Постоянно крутится поток, читающий ком-порт, и складывает все принятые байты в некоторый буфер.
Вот примерный алгоритм работы с ком-портом: http://www.piclist.ru/S-COM-THREAD-RUS/S-COM-THREAD-RUS.html
2) Также постоянно крутится поток протокола, который читает вышеуказанный буфер. Он считывает данные из буфера по определённому алгоритму (который ты описал как 150 if) и извлекает из принятых байт полезную информацию, отсекая всякую протокольную "ерунду": начало посылки, длину посылки, CRC и т.д. Полезную информацию в виде цельных посылок (например, vector<byte> или подобного) отправляет в буфер посылок.
3) Поток анализа данных выбирает эти посылки и, соответственно, анализирует.

Если протокол многоступенчатый (т.е. над одним уровнем протокола находится ещё один протокол и т.д.), то можно на каждый уровень протокола назначать по потоку. Обмен между ними - через непрерывный буфер байт или цельными посылками.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru