|
0 / 0 / 0
Регистрация: 07.10.2015
Сообщений: 54
|
|
Чтение данных из файла и их передача через порт компьютера21.05.2017, 10:15. Показов 8658. Ответов 67
Метки нет (Все метки)
Добрый день.
Есть задача: в текстовый файл в реальном времени пишется поток данных (углы наклона прибора в градусах). Необходимо считывать данные из этого файла в реальном времени и передавать их через COM- порт, с дальнейшей передачей данных на ЦАП и получения эквивалентного напряжения (из файла считалось, например, 5 градусов, дальше эти 5 градусов ушли через порт, там преобразовались в напряжение). Собственно вопросы: 1)Как это реализовать и что для этого надо? 2)Можно ли делать чтение с определенной строчки и до конца? Добавлено через 16 минут Либо вместо COM использовать USB
0
|
|
| 21.05.2017, 10:15 | |
|
Ответы с готовыми решениями:
67
Чтение/передача данных через USB порт
Передача данных через Com порт |
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 25.05.2017, 15:07 | |
|
Ты не понимаешь, как устроено оконное приложение. Обработчик должен возвращать управление как можно скорее, иначе всё зависает. Переделывай с таймером. В этом обработчике должно быть открытие файла и старт таймера. А обработчик таймера извлекает одну строку из файла за один вызов. Соответственно цикл исчезает.
0
|
|
|
0 / 0 / 0
Регистрация: 07.10.2015
Сообщений: 54
|
|||||||
| 25.05.2017, 16:47 [ТС] | |||||||
0
|
|||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 25.05.2017, 16:56 | |
|
Ещё раз: таймер создай на 10 миллисекунд - TTimer, и вот этот кусок вставь в обработчик таймера.
Добавлено через 4 минуты И никаких Sleep().
0
|
|
|
0 / 0 / 0
Регистрация: 07.10.2015
Сообщений: 54
|
||||||||||||
| 25.05.2017, 18:18 [ТС] | ||||||||||||
Добавлено через 29 минут
0
|
||||||||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 25.05.2017, 18:19 | |
|
Открытие/закрытие файла должно быть не здесь. При старте/завершении программы или при нажатии кнопок. По таймеру просто чтение.
А так у тебя всё время первая строка будет.
0
|
|
|
0 / 0 / 0
Регистрация: 07.10.2015
Сообщений: 54
|
|||||||
| 25.05.2017, 19:12 [ТС] | |||||||
Добавлено через 16 минут То есть должно быть x.xxxxx, а получается 1,00769996643066(пример из программы), еще и не совпадает с консольными вычислениями, в добавок на паузе продолжается считывание данных.
0
|
|||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 25.05.2017, 21:02 | |
|
То, что он читается, когда нет добавления, - нормально. Но должна секция else срабатывать, а данные в Edit'ах не изменяться. Не ясно, что у тебя там "плывёт".
0
|
|
|
0 / 0 / 0
Регистрация: 07.10.2015
Сообщений: 54
|
||
| 26.05.2017, 09:21 [ТС] | ||
|
Можно ли как-то из формы по кнопке запускать консольное приложение которое лежит рядом в папке/этом же проекте и по другой кнопке закрывать его?
0
|
||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
||
| 26.05.2017, 17:05 | ||
|
Что за х.ххххх? У тебя где-то ошибка.
0
|
||
|
0 / 0 / 0
Регистрация: 07.10.2015
Сообщений: 54
|
|||
| 26.05.2017, 18:42 [ТС] | |||
|
Пауза в симуляции - пауза в записи. Продолжение симуляция - продолжения записи(строки добавляются, стары остаются).
0
|
|||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 26.05.2017, 19:05 | |
|
Сколько там цифр - это вопрос форматирования и погрешности представления. Если нужно именно 5 после запятой, то используй явное форматирование, а не FloatToStr.
0
|
|
|
0 / 0 / 0
Регистрация: 07.10.2015
Сообщений: 54
|
|||||||
| 26.05.2017, 19:41 [ТС] | |||||||
|
На просторах
Добавлено через 1 минуту
0
|
|||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|||
| 26.05.2017, 21:05 | |||
|
Добавлено через 19 минут
0
|
|||
|
0 / 0 / 0
Регистрация: 07.10.2015
Сообщений: 54
|
|||||||
| 27.05.2017, 08:09 [ТС] | |||||||
0
|
|||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
||||||
| 27.05.2017, 08:27 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 07.10.2015
Сообщений: 54
|
|||
| 27.05.2017, 16:33 [ТС] | |||
|
И еще, данные отправляются постоянно, даже когда конец документа достигнут - это так и должно быть, типа специфика работы с портом? По поводу COM-порта... Его на плате не нашел, но в описании нашел IEEE 1394a port. Как я понял, это одно и тоже, практически. Но вот момент, судя по картинкам, там 3х-пиновый выход, а мой же выходит на 2 usb... Либо я путаю что-то...
0
|
|||
|
0 / 0 / 0
Регистрация: 07.10.2015
Сообщений: 54
|
|
| 27.05.2017, 16:43 [ТС] | |
|
Хотя COM отдельно, IEEE отдельно... Ничего непонимаю
0
|
|
|
0 / 0 / 0
Регистрация: 07.10.2015
Сообщений: 54
|
|
| 27.05.2017, 16:57 [ТС] | |
|
Размещение COM'а - Intel(R) P67 Express Chipset Family LPC Interface Controller - 1C46
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
||
| 27.05.2017, 18:06 | ||
|
Разные они. Ты книжку нашёл от платы? Там всё написано. Обычно набор контактов с чёрным ограничителем и надпись рядом COM.
0
|
||
|
0 / 0 / 0
Регистрация: 07.10.2015
Сообщений: 54
|
|||
| 27.05.2017, 18:12 [ТС] | |||
|
Добавлено через 41 секунду
0
|
|||
| 27.05.2017, 18:12 | |
|
Передача данных через ИК порт Получение и передача данных через COM порт Передача и приём данных через COM порт Передача данных через последовательный порт Передача и приём данных через COM-порт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|