|
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 9
|
|
Терминал, вывод данных12.12.2013, 01:49. Показов 3748. Ответов 14
Метки нет (Все метки)
Всех приветствую!
Пытаюсь написать программу для работы с ком портом, наподобие терминала. Подскажите пож-та как обрабатывать данные, чего-то затупил и не знаю, что делать данные принимаются в буфер и дальше оттуда их надо выводить в мемо формат данных от разных устройств разный, выводить надо в аски вместо ... идет какой-то текст проблема, как распознавать переводы строк ниже приведенные примеры, это вывод данных в хексе принтер 1 0D 0A 0D 0A ... 0D 0A 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... принтер 2 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0D 0A ... 0D 0A ... 0D 0A ... 0D 0A 0D ... 0D 0A 0D ... спутниковый тюнер на линуксе 00 0D ... 00 ... 0D 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D с принтерами проблема, что нет конца строки у последних данных на девайсе на линуксе еще проблема, что он шлет 00 байтики, с ними то же что-то надо делать Сначала для теста использовал строку вида ...\r\n...\r\n с эти проблем нет, все работает на реальных девайсах оказалось все не так. Спасибо!
0
|
|
| 12.12.2013, 01:49 | |
|
Ответы с готовыми решениями:
14
Как реализовать вывод в терминал поверх уже выведенных данных?
Вывод символов ASCII в терминал |
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
||
| 12.12.2013, 09:43 | ||
|
И функция приёма данных не была бы лишней.
0
|
||
|
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 9
|
|||||||||||
| 12.12.2013, 11:20 [ТС] | |||||||||||
|
вот что прога принимает в режиме вывода хекса, это принтер 2
в ф-ции приема данных ничего интересного нет, она просто накапливает за определенный промежуток времени данные и выводит, т.е. код сверху, попадает в буфер не сразу, а скажем так, за несколько вызовов ф-ции вот кусок тестовый ф-ции, которая как раз занимается выводом
0
|
|||||||||||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 12.12.2013, 11:26 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 9
|
||
| 12.12.2013, 11:35 [ТС] | ||
|
потому что, сама прога также отправляет данные, а формат отправки как раз 123456\r\n т.е. тогда не будут выводиться эти данные и потм непонятно что делать с данными, которые не оканчиваются концом строки-(
0
|
||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|||
| 12.12.2013, 11:38 | |||
|
0
|
|||
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
| 12.12.2013, 11:44 | |
|
lodyr, на сколько я понял у Вас проблема с интерпритацией повторяющихся байтов 0x0D.
Полагаю это Вам поможет Text file with 0D 0D 0A line breaks.
1
|
|
|
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 9
|
||||||||||
| 12.12.2013, 11:59 [ТС] | ||||||||||
|
если посмотрите формат вывода от принтера 2, то там вначале строки разделяются 0A0D, а потом 0D0A, в конце еще 0D0A0D т.е. выводится либо то, либо это-)
Добавлено через 10 минут
0
|
||||||||||
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
| 12.12.2013, 12:08 | |
|
0
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
||
| 12.12.2013, 12:22 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 9
|
||
| 12.12.2013, 13:41 [ТС] | ||
|
вообще, идея была какая так как мы не знаем, что нам придет в порт и что мы будем считывать, то я ориентировался на то, что при выводе аски, строки должны заканчиваться на перевод строки или окончание строки попало сколько то байт в буфер, проверяем есть ли перевод строки, если есть выводим данные, чистим буфер если нет, снова вызывается ф-ция читающая буфер ... на самом деле она вызывается постоянно в цикле в другом потоке и постепенно наполняет буфер затем происходит, проверка, и если есть перевод строки, то вывод если буфер переполняется, то выводится весь буфер и очищается
0
|
||
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
| 12.12.2013, 14:31 | |
|
lodyr, в техническом описании девайсов ничего нет по этому поводу?
0
|
|
|
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 9
|
|
| 12.12.2013, 15:06 [ТС] | |
|
Неа, это же внутренние разъемы, они не для пользователей
через них происходит обмен c устройством для каких-то определенных целей: заливка прошивки, настройка каких-то параметров, что-то типа командной строки как в линуксе А так хотелось получить прогу наподобие гипертерминала виндоус или putty
0
|
|
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
| 12.12.2013, 15:21 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 9
|
|
| 12.12.2013, 15:49 [ТС] | |
|
уже месяц тыкаю-) все никак
Всем спасибо!
0
|
|
| 12.12.2013, 15:49 | |
|
Помогаю со студенческими работами здесь
15
Передача данных c МК51 по UART и вывод в терминал Вывод строки в терминал
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|