OberonCore
https://forum.oberoncore.ru/

CommV24, выполненный как драйвер для CommStreams
https://forum.oberoncore.ru/viewtopic.php?f=90&t=20
Страница 1 из 2

Автор:  Anton [ Вторник, 22 Ноябрь, 2005 17:13 ]
Заголовок сообщения:  CommV24, выполненный как драйвер для CommStreams

А есть ли в BB модуль работы с COM-портом?

(р-р колл-ции) карточка: http://oberoncore.ru/bbcc/subs/comm/v24

Автор:  Илья Ермаков [ Вторник, 22 Ноябрь, 2005 21:03 ]
Заголовок сообщения: 

Нет, такого модуля я не видел.
А зачем? Через машинные коды - в NT в пользовательском кольце прямое обращение к COM-порту, как я помню, запрещено.
А для "нормального" доступа - есть же системный вызов. Вот только не помню, какой... OpenIODevice?

Автор:  Anton [ Среда, 23 Ноябрь, 2005 09:35 ]
Заголовок сообщения: 

Илья Ермаков писал(а):
А зачем?

Как я уже рассказывал, я хочу попробовать реализовать что-то типа POS на BlackBox. Очень много торгового оборудования работает через COM порт (сканеры штрих кода, ККМ, считыватели RFID меток и т.п.). Требуется асинхронная работа с портом.
Поэтому я и хочу чтобы был класс (модуль) который бы предоставлял мне сервис асинхронной работы с портом.
Илья Ермаков писал(а):
А для "нормального" доступа - есть же системный вызов. Вот только не помню, какой... OpenIODevice?

А это где? :) В ББ? Если да, то в каком модуле

Автор:  Илья Ермаков [ Среда, 23 Ноябрь, 2005 18:54 ]
Заголовок сообщения: 

В WinAPI. Модули-заголовки из подсистемы Win.

Автор:  Trurl [ Понедельник, 28 Ноябрь, 2005 10:32 ]
Заголовок сообщения: 

А CommV24 недостаточно?

Автор:  Илья Ермаков [ Понедельник, 28 Ноябрь, 2005 11:57 ]
Заголовок сообщения: 

Честно говоря, не смотрел пока. Надо глянуть. Сейчас как раз перевожу документацию Comm. Но мне нужен больше TCP/IP...

Автор:  zh [ Вторник, 13 Февраль, 2007 21:07 ]
Заголовок сообщения: 

работа с com портами (RS-232)
пример
CommV24.Open(device, baud,{ },conn);
CommV24.SetBuffers(conn,12,12);
CommV24.ReceiveBytes(conn, x, 0, 12 );
И BlackBox ждет получения данных, не реагируя ни на что, а данные могут и не прийти если внешнее устройство не отвечает.
Хотелось бы продолжать работу и по приходу данных обработать их.

Автор:  Илья Ермаков [ Среда, 14 Февраль, 2007 01:53 ]
Заголовок сообщения: 

Ну дык... Лечится только многопоточностью :-)

Автор:  Александр Ильин [ Среда, 14 Февраль, 2007 11:35 ]
Заголовок сообщения: 

Илья Ермаков писал(а):
Ну дык... Лечится только многопоточностью :-)

Илья, это реклама "волшебной пилюли"? :)
Давно работаю с COM-портом в BlackBox без зависаний. Достаточно перед чтением проверять доступность необходимого количества данных с помощью процедуры CommV24.Available и читать не более того, сколько доступно.
Для организации ожидания использовать Services.Action.

Автор:  Илья Ермаков [ Среда, 14 Февраль, 2007 16:12 ]
Заголовок сообщения: 

Ну, можно, конечно, и так - благо Action штука неплохая :-)

Автор:  Илья Ермаков [ Среда, 12 Ноябрь, 2008 21:11 ]
Заголовок сообщения:  Re: COM-порт

Уважаемые коллеги, можно пример работы с COM-портом?

У меня один из дитёв в институте что-то паяет там и рвётся поэкспериментировать с вводом-выводом из ББ на порт.
У нас что-то даже не получилось открыть порт - возвращается NILовой Connection.

Автор:  Александр Ильин [ Среда, 12 Ноябрь, 2008 22:37 ]
Заголовок сообщения:  Re: COM-порт

Илья Ермаков писал(а):
Уважаемые коллеги, можно пример работы с COM-портом?
Из моей подсистемы Mate.
Вложение:
Комментарий к файлу: Модуль для проверки связи
TestLink.odc [3.59 КБ]
Скачиваний: 738
Модуль для проверки связи, позволяет пообщаться в текстовом режиме - например, между двумя компьютерами с ББ, - или получить любые двоичные данные. Отправляемый текст пишется в коммандере, принимаемый выводится в журнал. Для приёма надо вручную тыкать коммандер MateTestLink.Receive.
Стандартный модуль CommV24 был несколько модифицирован.
Вложение:
Комментарий к файлу: Модифицированный CommV24
V24.odc [18.72 КБ]
Скачиваний: 726
История модификаций описана в заголовке. Из основного: модуль сделан драйвером для Streams, добавлены кое-какие опции и ParseParams. Поскольку Streams требует неблокирующей работы, сделан небольшой трюк, описанный в комментарии внутри NewStream. При создании потока в качестве remoteAddr указывается строка с параметрами COM-порта через запятую. Например: "COM4" или "COM4,9600" или "\\.\COM4,8,1,9600,DTRon". Первым должно идти имя устройства, далее порядок параметров произвольный.

Автор:  Илья Ермаков [ Среда, 12 Ноябрь, 2008 23:33 ]
Заголовок сообщения:  Re: COM-порт

Спасибо!

Автор:  Info21 [ Четверг, 13 Ноябрь, 2008 06:34 ]
Заголовок сообщения:  Re: COM-порт

Александр Ильин писал(а):
...Модуль для проверки связи, позволяет пообщаться в текстовом режиме - например, между двумя компьютерами с ББ...

Хороший примерчик.

А бывают ли еще шнурики через COM-порты соединяться?

Автор:  Александр Ильин [ Четверг, 13 Ноябрь, 2008 07:09 ]
Заголовок сообщения:  Re: COM-порт

Info21 писал(а):
А бывают ли еще шнурики через COM-порты соединяться?
Как же не бывать? Бывают. А если нету, то всегда сделать можно.

Автор:  Wlad [ Четверг, 13 Ноябрь, 2008 18:49 ]
Заголовок сообщения:  Re: COM-порт

Info21 писал(а):
А бывают ли еще шнурики через COM-порты соединяться?

Бывают. И даже - очень...
Тока смотрите там на линии приёма/передачи в зависимости от "мама"/"папа" и что с чем соединяется...
А то у нас паяльщики в цеху ОБЯЗАТЕЛЬНО в каждом изделии путают! Как здрасьте... :twisted:

Автор:  bohdant [ Четверг, 13 Ноябрь, 2008 20:10 ]
Заголовок сообщения:  Re: COM-порт

Info21 писал(а):
А бывают ли еще шнурики через COM-порты соединяться?

Проще всего купить разъемы, и спаять нужный шнур.
Но будьте бдительны, сейчас попадаются Китайские разъемы, с зеркальной нумерацией пинов :lol: т.ч. лучше глянуть в доку перед тем, как паять

Автор:  Борис Рюмшин [ Четверг, 13 Ноябрь, 2008 20:15 ]
Заголовок сообщения:  Re: COM-порт

Info21 писал(а):
А бывают ли еще шнурики через COM-порты соединяться?

Бывают. Только последнее время COM-порта можно не обнаружить. :mrgreen:

Автор:  Илья Ермаков [ Четверг, 13 Ноябрь, 2008 20:31 ]
Заголовок сообщения:  Re: COM-порт

А USB ведь логически в Виндах как разновидность COM завиртуален? Можно так же работать? И шнуры небось спаять можно?

Автор:  Axcel [ Четверг, 13 Ноябрь, 2008 20:58 ]
Заголовок сообщения:  Re: COM-порт

Ну, я не знаю как где, но у нас В Питере готовые "шнуры" для com висят в каждом магазине(компьютерном). Длина приблизительно 1.5 м, стоят около 50 р. Называются почему-то "нульмодемным" кабелем. Для работы через USB, как по com, нужен переходник, стоит порядка 400р.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/