Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/58: Рейтинг темы: голосов - 58, средняя оценка - 4.72
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069

Работа с USB портами

31.01.2011, 08:52. Показов 12239. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые Форумчане!
Во время работы моей программы, часто приходится пользоваться USB портами, помогите дополнить ее функцией отображения на форме либо в текстовом поле информации о подключении USB устройства.

Например:

1.Подключили устройство USB (флеш диск).
2.На главной форме появилось сообщение " Подключено устройство F"
3.Выбираем варианты: ЗАПУСТИТЬ устройство или ЗАПРЕТИТЬ запуск устройства.

Для моего уровня знаний задачка сложноватая, надеюсь на форуме есть кому она по зубам.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.01.2011, 08:52
Ответы с готовыми решениями:

Работа с портами
Нужна библиотека на подобии inpout32 чтоб подключаться непосредственно к регистрам (точнее 888 и 889) На форумах пишут что работать можно...

Работа с несколькими COM портами
В компе есть плата расширения с 16 сом портами. Надо в реальном времени следить за ними. Оправлять и получать данные. Как это лучше...

Работа с USB портами
Мне нужно написать программу которая отключала бы и включала USB порты, но проблема в получении дескриптора для портов, хаба и...

12
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
31.01.2011, 09:09
Если диск, то нафиг тебе самому работать с портами? Да и в остальных случаях приложения не должны и не могут этим заниматься. А драйвера пишутся не на паскале.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.02.2011, 00:16
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от taras atavin Посмотреть сообщение
1. Если диск, то нафиг тебе самому работать с портами
2. Да и в остальных случаях приложения не должны и не могут этим заниматься.
3. А драйвера пишутся не на паскале.
1. Это не ответ.
2. Должны и могут, при необходимости.
3. Это не паскаль, это С++.

Например
Множество устройств разрабатывается с помощью микросхем FTDI.

Для работы с USB-портом в C++Builder для них есть соответствующие библиотеки:
http://ftdichip.com/Drivers/D2XX.htm
это необходимые файлы: Ftd2xx.dll Ftd2xx.lib Ftd2xx.h

Но C++Builder ругается на несовместимость с библиотекой FTD2XX.lib.

Делаем её совместимой:

1/ Из папки bin где установлен C++Builder (у меня это C:\Program Files\Borland\CBuilder6\Bin) копируем в папку с этими библиотеками
файлы implib.exe и impdef.exe

2/ Из командной строки запускаем >impdef.exe Ftd2xx Ftd2xx
создав этим файл Ftd2xx.def

3/ Из командной строки запускаем >implib.exe -f Ftd2xx.lib Ftd2xx.dll
создав файл Ftd2xx.lib совместимый с C++Builder


Проверяем совместимость:

Создаем в С++Builder новый проект, подключаем к нему
Ftd2xx.lib указав этот файл в меню Project->Add to project

Пишем код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "FTD2XX.H"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
       : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
FT_STATUS ftStatus;
DWORD numDevs=0;
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 ftStatus = FT_ListDevices(&numDevs, NULL, FT_LIST_NUMBER_ONLY);
 if(ftStatus == FT_OK){
        ShowMessage("FT_ListDevices Ok !");
        ShowMessage(numDevs);
   }else{
        ShowMessage("FT_ListDevices Failed !");
        }
}
Запускаем компиляцию.
Если все откомпилилось и запустилось - библиотека подключена успешно.

Также можно почитать:
http://www.filur.net/PDF/FTDI/stat/D2xx.htm
http://www.efo.ru/cgi-bin/go?0009091046
4
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
01.02.2011, 15:47  [ТС]
Я извиняюсь за беспокойство, уважаемый LK.
Не получается подключить библиотеки implib и impdef, если вас не затруднит опишите процедуру создания совместимой библиотеки для buildera.
Я не прошу у вас готовый проект таккак хочу научиться делать все сам.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.02.2011, 16:50
Цитата Сообщение от Samrisbe Посмотреть сообщение
Я Не получается подключить библиотеки implib и impdef, если вас не затруднит опишите процедуру создания совместимой библиотеки для buildera.
- это не библиотеки, это файлы для создания Ftd2xx.def и Ftd2xx.lib , и читайте дальше внимательней:
Создаем в С++Builder новый проект, подключаем к нему Ftd2xx.lib указав этот файл в меню Project->Add to project
.
И обращайтесь за помощью не только, и не столько ко мне, а ко всему Сообществу , дабы кого не обидеть .
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
01.02.2011, 20:26  [ТС]
Я пишу именно вам таккак именно вы показали свою компетентность, в компетентности других тоже нет повода сомневатся, и если кто подскажет иной способ взять под контроль USB порта, буду очень рад и благодарен.
По вашей инструкции LK, я сделал файл Ftd2xx lib(1кб-размер подозрительно мал), и нашел его в папке dokuments and setting\user name, добавляю в проект, компилирую и получаю 6 ошибок.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.02.2011, 20:28
это не моя инструкция и я ее не компилировал ...
ошибки какие ?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.02.2011, 20:39
я не знаю, как вам удалось сделать 1 кб. , вот :
Вложения
Тип файла: zip USB.ZIP (320.0 Кб, 610 просмотров)
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
01.02.2011, 21:02  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
это не моя инструкция и я ее не компилировал ...
ошибки какие ?
Вот ошибки:
Миниатюры
Работа с USB портами  
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
01.02.2011, 21:05
Цитата Сообщение от Samrisbe Посмотреть сообщение
Я пишу именно вам таккак именно вы показали свою компетентность, в компетентности других тоже нет повода сомневатся, и если кто подскажет иной способ взять под контроль USB порта, буду очень рад и благодарен.
По вашей инструкции LK, я сделал файл Ftd2xx lib(1кб-размер подозрительно мал), и нашел его в папке dokuments and setting\user name, добавляю в проект, компилирую и получаю 6 ошибок.
Вы хотите работать с каким-либо устройством через виртуальный COM порт с помощью USB переходника на основе микросхемы FT2232H?
При чем здесь управление USB портами?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.02.2011, 22:31
Цитата Сообщение от Samrisbe Посмотреть сообщение
Вот ошибки:
1. Скорее всего, нет пути к файлу. Киньте его в папку с проектом (или рядом с ЕХЕ ? )
Или не FTD2XX.H а FTD2XX.HPP .
2. Остальное - отсутствие include файла (пункт 1) .
Цитата Сообщение от PB Посмотреть сообщение
Вы хотите работать с каким-либо устройством через виртуальный COM порт с помощью USB переходника на основе микросхемы FT2232H? При чем здесь управление USB портами?
- скорее всего, нужно подключить что-нибудь самопальное и вывести сообщение.
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
02.02.2011, 03:25  [ТС]
После долгих и упорных трудов удалось скомпелировать. Спасибо LK, и 1155 извенений за назойливые вопросы.
Мостерство и опыт сказывается, перед молодостью и энтузиазмом....
0
02.02.2011, 03:32

Не по теме:

да ладно Вам...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.02.2011, 03:32
Помогаю со студенческими работами здесь

Работа с портами, например USB
нужно считывать импульсы, наподобие счётчика. Подскажите с чего начать изучение?

Java - работа с USB портами.
Большая просьба, ткнуть в ссылки на статьи или прочую литературу, по работе с USB портами в Java.

Запара с USB портами
Собрал компютер 12 января гдето, Скрин есть все железяки... Никогда не было проблем, сёдня начали отключаться ЮСБ порты что делатЬ?

Проблема с usb портами
Доброго времени суток специалисты. Очень надеюсь что вы поможете мне с моей проблемой. Сразу скажу что по этому поводу просмотрел все...

Чудеса с USB портами
Значит что мы имеем: usb устройство с поддержкой usb 2.0, которое постоянно просит его подключить к высокоскоростному порту и оно станет...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru