175 / 65 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
1

Работа функции FlushFileBuffers при синхронном чтении из Com-порта

13.12.2017, 08:03. Показов 1281. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте.

Пытаюсь освоить работу с Com-портом средствами API.
В описании к функции FlushFileBuffers сказано: Обеспечивает передачу данных из выходного буфера и только после этого очищает его.
FlushFileBuffers предшествует вызову функции ReadFile.
Функция ReadFile работает успешно, все байты читаются. Вопрос: откуда они читаются, если я только что очистил буфер чтения? И нужен ли предваряющий ReadFile вызов функции FlushFileBuffers, когда всё работает и без него.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2017, 08:03
Ответы с готовыми решениями:

Чтение из COM порта, При чтении из порта зависает read()
Каждому рано или поздно приходится программировать com порт. Вот и мой черед пришол. Я ужу умею:...

Подвисает при чтении COM порта
Доброго времени суток, сделал программу, которая читает данные из COM порта, строка кода которая...

«Зависает» при чтении com порта
Здравствуйте! Алгоритм программы следующий: «Читать до конца файла» 1.1 Программный reset...

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

4
1369 / 513 / 71
Регистрация: 21.07.2015
Сообщений: 1,302
13.12.2017, 14:49 2
Для очистки буфера порта обычно используют PurgeComm. На виртуальных портах она может работать криво, поэтому я очищаю просто входной буфер чтением заведомо большого количества байт с малым таймаутом.
1
175 / 65 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
13.12.2017, 16:36  [ТС] 3
shmkv, Вы о чём?
0
1369 / 513 / 71
Регистрация: 21.07.2015
Сообщений: 1,302
13.12.2017, 16:39 4
Цитата Сообщение от jkrnd Посмотреть сообщение
shmkv, Вы о чём?
О том как правильно очищать входной буфер.
1
175 / 65 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
13.12.2017, 16:44  [ТС] 5
shmkv, спасибо большое. Всё понял. Главное в тему.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2017, 16:44
Помогаю со студенческими работами здесь

При чтении com порта зависает приложение
Вот эта строка кода вешает всё приложение: textBox1->Text = serialPort1->ReadLine(); Если её...

Зависает форма при чтении из порта
Пишу программку, которая читает данные из серийного порта. Но форма повисает, пока чтение не...

Откуда при чтении из COM-порта берутся 99 байт?
Здравствуйте! Этот отрывок кода взят из рабоче программы, которая работает около 2-х лет и судя по...

Вылет в синий экран при чтении данных из ком-порта
Накидал читалку данных из ком-порта, вроде ничего особенного не делаю, а по истечение минуты...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru