0 / 0 / 0
Регистрация: 29.04.2020
Сообщений: 4
|
|||||||||||
1 | |||||||||||
Как считать данные с com порта и записать их в файл?27.05.2020, 14:13. Показов 1758. Ответов 9
Всем привет. Работаю с stm32 микроконтроллером, задача состоит в том что бы в bcb написать программу которая считывает полученные байты из com порта и записывает их в файл, прием в кейле я уже настроил. Подскажите как это сделать. Пока написал только это
0
|
27.05.2020, 14:13 | |
Ответы с готовыми решениями:
9
Как считать данные с файла и записать результат в файл? GetVolumeInformation, как считать данные тома и записать их в txt-файл? Как считать и записать данные из сервлета в обычный текстовый файл? Как считать/записать значение в/из COM-порта? Как считать данные с com порта? |
locm
|
|||||
27.05.2020, 16:33
#2
|
|||||
Не по теме: Хз как это делается в C++ Builder. Я бы сделал так (не C++).
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,869
|
||||||
27.05.2020, 18:18 | 4 | |||||
Можете взять отсюда ttym.h + ttym.c: https://github.com/COKPOWEHEU/modules
Это реализация работы с COM-портом. Использование достаточно простое:
0
|
locm
|
27.05.2020, 18:40
#5
|
0
|
COKPOWEHEU
|
27.05.2020, 23:50
#6
|
Не по теме: locm, а посмотреть в код? Там две разные реализации, одна под Linux, вторая под Windows.
0
|
locm
|
28.05.2020, 00:56
#7
|
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,869
|
|
28.05.2020, 10:27 | 8 |
Ну надо же было что-то указать в качестве примера. Можно было указать COM1, какая разница.
Я не нашел простого способа проверки. Вместо этого у меня используется таймаут: задаете 0 миллисекунд и если буфер пуст, получаете 0 или -1 в качестве результата, либо просто число реально считанных байт, если буфер не пуст.
0
|
28.05.2020, 13:14 | 9 |
В винде используется ClearCommError которая заполняет структуру COMSTAT имеющую поля cbInQue и cbOutQue в которых число байт в входном и выходном буфере порта.
Что используется в лине и маке не знаю - нечем дизассемблировать функцию AvailableSerialPortInput() под эти платформы.
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,869
|
|
28.05.2020, 17:36 | 10 |
Спасибо за подсказку, но вряд ли воспользуюсь. На практике гораздо чаще встречаются задачи считать ровно Х байт, то есть нужна скорее проверка накопилось ли столько в системном буфере. Если же выбирать из чтения с нулевым таймаутом и проверки наличия байта, первым способом оно реализовывается немного проще.
Вторая задача - чтение строки до символа '\n', тут тоже нужна своя абстракция вокруг низкоуровневых методов, причем сравнимая в обоих случаях.
0
|
28.05.2020, 17:36 | |
28.05.2020, 17:36 | |
Помогаю со студенческими работами здесь
10
Как считать данные с LPT порта? Как в C++ builder считать данные с COM порта ? Как считать данные с СОМ порта Как считать бинарные данные с COM-порта Файл: Считать данные из текстового файла и записать их в другой файл, заданный пользователем... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |