Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/56: Рейтинг темы: голосов - 56, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 37

Как осуществляется чтение и запись в USB port?

20.05.2014, 14:26. Показов 10814. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Чтение и запись в usb port подскажите пожалуйста. Или есть компонент для delphi
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.05.2014, 14:26
Ответы с готовыми решениями:

Com port - чтение и запись: Как обратиться именно в 4 бит 3-го байта
Доброго времени суток. Нужен совет по работе с Сом портом в асинхронном режиме. Суть задачи такая, я посылаю на устройство команду (запрос...

Не осуществляется перебор базы, берется только первая запись
procedure TForm1.btn1Click(Sender: TObject); var result:Boolean; i: integer; begin result :=False; for i:=1 to count do ...

Запись и чтение в Соm port
Вот так хотелось записать и прочитать в/с COM - порта сторку текста: #include<iostream> #include<fstream> using namespace std; ...

13
fatal error
 Аватар для U_Dimas
137 / 129 / 29
Регистрация: 10.04.2012
Сообщений: 357
20.05.2014, 15:02
Мне знакомый электронщик делал устройство контроля вентиляторов под usb.
Я использовал библиотеку HID_Lib_PB.dll, проект нашел но там такой ужас, что в таком виде я его вылаживать не хочу...
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 37
20.05.2014, 15:33  [ТС]
Я хочу послать команду на принтер и прочитать. Получиться. И если есть описание под библиотеку
0
fatal error
 Аватар для U_Dimas
137 / 129 / 29
Регистрация: 10.04.2012
Сообщений: 357
20.05.2014, 15:38
kirik1982, да фиг его знает получится или нет, возможно от принтера зависит, чет мыслей писать в принтер у меня не возникало...
Вот функи которые дергаются из библы:
Delphi
1
2
3
4
5
6
7
  function HID_DeviceTest(PID, VID, Number, Index: word): boolean; stdcall; external 'HID_Lib_PB.dll';
  function HID_OpenDevice(PID, VID, Number, Index: word): integer; stdcall; external 'HID_Lib_PB.dll';
  function HID_GetFeature(Handle: integer; Buffer: pointer; LenBuf: integer): boolean; stdcall; external 'HID_Lib_PB.dll';
  function HID_SetFeature(Handle: integer; Buffer: pointer; LenBuf: integer): boolean; stdcall; external 'HID_Lib_PB.dll';
  function HID_CloseDevice(Handle: integer): boolean; stdcall; external 'HID_Lib_PB.dll';
  function HID_GetManufacturerString(Handle: integer):pointer; stdcall; external 'HID_Lib_PB.dll';
  function HID_GetProductString(Handle: integer):pointer; stdcall; external 'HID_Lib_PB.dll';
А вот таким кодом отрывается устройство:
Delphi
1
2
3
4
5
6
7
8
9
10
 if HID_Handle=0 then HID_Handle:=HID_OpenDevice(PID,VID,256,0);
 if HID_Handle<>0 then if not(HID_DeviceTest(PID,VID,256,0)) then  begin
 HID_CloseDevice(HID_Handle);
 HID_Handle:=HID_OpenDevice(PID,VID,256,0)
 end;
 if HID_Handle=0
 then  begin
 Form2.Caption:='Óñòðîéñòâî íå íàéäåíî';
 end else begin
 form2.Caption:=pchar(HID_GetManufacturerString(HID_Handle))+'  '+pchar(HID_GetProductString(HID_Handle));
PID, VID - берутся из диспетчера устройств
Библиотеку нашли или закачать ?
1
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,608
20.05.2014, 15:42
Цитата Сообщение от kirik1982 Посмотреть сообщение
Я хочу послать команду на принтер и прочитать.
Ну и посылай команду на принтер. При чем тут USB-порт?
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 37
20.05.2014, 15:54  [ТС]
залейте библиотеку пожалуйста. а в принтере только usb есть.
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,608
20.05.2014, 15:58
Цитата Сообщение от kirik1982 Посмотреть сообщение
в принтере только usb есть
Если принтер установлен в операционной системе, то какая разница через какой порт он подключен?
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 37
20.05.2014, 16:05  [ТС]
мне zpl команду послать на прямую через usb порт
0
fatal error
 Аватар для U_Dimas
137 / 129 / 29
Регистрация: 10.04.2012
Сообщений: 357
20.05.2014, 16:10
Вот библиотека - HID_Lib_PB.rar
Есть желание примерчик написать на ее основе, но это как попрет, если лень не задавит может в выходные
1
Пишу на Delphi...иногда
 Аватар для cotseec
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
20.05.2014, 20:01
библиотека для HID, а usb принтера имеет иной класс Approved Class Specification Documents
Цитата Сообщение от kirik1982 Посмотреть сообщение
мне zpl команду послать
посмотрите строну Escape function

пример использования (stackoverflow)
0
0 / 0 / 0
Регистрация: 05.03.2015
Сообщений: 14
05.03.2015, 13:18
kirik1982, да фиг его знает получится или нет, возможно от принтера зависит, чет мыслей писать в принтер у меня не возникало...
Вот функи которые дергаются из библы:
Код Delphi
Delphi
1
2
3
4
5
6
7
function HID_DeviceTest(PID, VID, Number, Index: word): boolean; stdcall; external 'HID_Lib_PB.dll';
  function HID_OpenDevice(PID, VID, Number, Index: word): integer; stdcall; external 'HID_Lib_PB.dll';
  function HID_GetFeature(Handle: integer; Buffer: pointer; LenBuf: integer): boolean; stdcall; external 'HID_Lib_PB.dll';
  function HID_SetFeature(Handle: integer; Buffer: pointer; LenBuf: integer): boolean; stdcall; external 'HID_Lib_PB.dll';
  function HID_CloseDevice(Handle: integer): boolean; stdcall; external 'HID_Lib_PB.dll';
  function HID_GetManufacturerString(Handle: integer):pointer; stdcall; external 'HID_Lib_PB.dll';
  function HID_GetProductString(Handle: integer):pointer; stdcall; external 'HID_Lib_PB.dll';
А вот таким кодом отрывается устройство:
Код Delphi
Delphi
1
2
3
4
5
6
7
8
9
10
 if HID_Handle=0 then HID_Handle:=HID_OpenDevice(PID,VID,256,0);
 if HID_Handle<>0 then if not(HID_DeviceTest(PID,VID,256,0)) then  begin
 HID_CloseDevice(HID_Handle);
 HID_Handle:=HID_OpenDevice(PID,VID,256,0)
 end;
 if HID_Handle=0
 then  begin
 Form2.Caption:='Устройство не найдено';
 end else begin
 form2.Caption:=pchar(HID_GetManufacturerString(HID_Handle))+'  '+pchar(HID_GetProductString(HID_Handle));
PID, VID - берутся из диспетчера устройств
Библиотеку нашли или закачать ?
Здравствуйте kirik1982,
Я попробовал использовать Ваш исходник и либу, вписываю VID и PID необходимого устройства, но всеравно он пишет что устройство не найдено. Я уже перепробовал кучу сорцов из инета и дждаевский компонент, безуспешно...
А вообще задача такая:
Нужно принять данные с RFID ридера. Игры с фокусом тут не прокатят, т.к. мой ГУЙ могут свернуть. Ридер определяется как HID клава.
0
1 / 1 / 1
Регистрация: 22.03.2016
Сообщений: 19
10.05.2021, 17:28
Не работает. HID_OpenDevice выдаёт какое-то число. Но все HID_DeviceTest сообщает, что устройство не подключено. Все остальные функи только подтверждают это.
Eсли использовать HID_CloseDevice выскаивает системная ошибка Externall exeption C0000008.
И что не так?
0
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
10.05.2021, 18:52
C USB напрямую так просто не получится работать. Там достаточно заморочено. Выяснять, под каким ID зарегистрировано устройство (или какое у него имя? я уже не помню...), отлавливать готовность. А там еще что-то типа очереди собственной... Лучше попытаться вывести на устройство печати через API, не заморачиваясь с USB.
0
1 / 1 / 1
Регистрация: 22.03.2016
Сообщений: 19
10.05.2021, 19:12
В том-то и беда, что мне не нужна печать. Мне нужно именно через usb открыть устройство и получить с него хотя бы название или производителя. В идеале считать данные.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.05.2021, 19:12
Помогаю со студенческими работами здесь

Запись/чтение через USB
есть кодирующее устойство подключенное через USB, необходимо создать сеть 1-Wire с этим устройством. косо написала, но пока яснее...

Неадекватная запись/чтение Flash-USB
Hi! Стал &quot;счастливым&quot; обладателем данной штуки, а точнее нашел на улице такой носитель инфы - JetFlash Transcend 32GB. Накопитель был...

Как реализовать побайтное чтение из COM-port
Использую класс qextserialport! С Сom-port прилетают 8 байт! Необходимо читать первый раз 1 байт, затем 2 байта, затем 5 байт! И записывать...

Отсутствует порт "Virtual printer port for USB". Как его создать?
Возникли проблемы при подключении МФУ &quot;HP LaserJet Pro MFP M125r&quot; к ноутбуку. Запускаю инстайлер с диска, делаю все по инструкции, доходит...

USB port.
После некоторого количества попыток законнектился с USB устройством. на CreateFile(...) не ругается. Если запускаю другие программы для...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru