Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: C++Builder USB
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Tcom
Привет всем!
Хочу научиться разрабатывать программы для USB. Мечта такая - с одной стороны AT91SAM7Sxx с другой Windows XP. Подскажите доку по написанию драйвера (винда) и примерчик (может быть) программы (под винду) обмена с драйвером, спасибо..
shreck
А Вы определились, что именно хотите получить от USB? Без опыта писать драйвер - дело мутное и долгое. Может Вам хватит возможностей HID, тогда есть достаточно хороший компонент ( у меня работает для Delphi7 и CBuilder6) HidController
HidComponent
alexander55
Цитата(shreck @ Jan 9 2008, 07:48) *
Может Вам хватит возможностей HID, тогда есть достаточно хороший компонент ( у меня работает для Delphi7 и CBuilder6) HidController
HidComponent

Меня интересует:
- установка компонента под CBuilder6
- примеры под CBuilder6.
shreck
Цитата(alexander55 @ Jan 9 2008, 13:28) *
Меня интересует:
- установка компонента под CBuilder6
- примеры под CBuilder6.



Под CBuilder компонент ставится также как и под Delphi. При инсталяции компонента указываете JvHidControllerClass.pas (здесь содержится процедура register).

А чем не устраивают примеры для Delphi? Под CBuilder они переносятся достаточно прямолинейно. По крайней мере я не встретил сложностей.
alexander55
Цитата(shreck @ Jan 9 2008, 11:41) *
Под CBuilder компонент ставится также как и под Delphi. При инсталяции компонента указываете JvHidControllerClass.pas (здесь содержится процедура register).

А чем не устраивают примеры для Delphi? Под CBuilder они переносятся достаточно прямолинейно. По крайней мере я не встретил сложностей.

Я всегда использовал компоненты чисто под Builder. Дельфийские компоненты использовать остерегался (хотя понимаю, что они растут из одного корня). biggrin.gif
Вопрос такой.
При использовании компонента от дельфи в Builder требуется ли устанавливать Delphi или не требуется ?
shreck
Цитата(alexander55 @ Jan 9 2008, 16:14) *
При использовании компонента от дельфи в Builder требуется ли устанавливать Delphi или не требуется ?


Хм... Полагаю, что установки делфи не требуется, хотя точно сказать не берусь. У меня стоит и то и другое.
Тем не менее, попробуйте установить. Дело то минутное. Ну и для надежности создайте форму, например, с таким обработчиком события Hid контроллера.

Код
//---------------------------------------------------------------------------
// Подключение устройства.
void __fastcall TMainForm::HidDevCtlArrival(TJvHidDevice *HidDev)
{
    if (HidDev->ProductName == "бла-бла")
    {
        // подключено устройство, настраиваем его
        TJvHidDevice *Dev;
        if (HidDevCtl->CheckOutByProductName(Dev, HidDev->ProductName))
        {
            // минимальная настройка.
            Dev->NumInputBuffers = 128;
            Dev->NumOverlappedBuffers = 128;
            Dev->OnData = 0;
        }
    }
}
alexander55
Цитата(shreck @ Jan 9 2008, 13:28) *

Спасибо, буду экспериментировать.
Только попробовал установить компонент, сразу вылезли грабли.
В Builder установка компонентов осуществляется через пакеты (Package). Это файлы с расширением *.bpk.
В этом компоненте я ничего подобного не увидел.
Подскажите мне направление движения.
shreck
Цитата(alexander55 @ Jan 9 2008, 17:34) *
В Builder установка компонентов осуществляется через пакеты (Package). Это файлы с расширением *.bpk.
В этом компоненте я ничего подобного не увидел.
Подскажите мне направление движения.


Не только через packages.
Component->InstallComponent->Unit File Name (Browse...). Указываете JvHidControllerClass.pas. Не забудьте выбрать тип файла Pascal uint (*.pas).
Далее как и в Delphi.
После установки должна появится закладка Project Jedi с установленным компонентом.
alexander55
Цитата(shreck @ Jan 9 2008, 14:23) *

Спасибо.
Все получилось (без установки Delphi).
Builder сам перестроил пакет, который был последний (для мной добавляемых компонентов) и установил компонент. А без указания пакета ничего не получалось.
Надо что-то почитать для устранения тумана в голове.
Tcom
Я вот порывшись в сети и скачавши с FTP електроникса Jungo WinDriver. Там есть и шаблон C++Builder, делфи VC и многое другое.
alexander55
Цитата(Tcom @ Jan 10 2008, 14:26) *
Я вот порывшись в сети и скачавши с FTP електроникса Jungo WinDriver. Там есть и шаблон C++Builder, делфи VC и многое другое.

Ссылочку не дадите ?
_lukash_
Подскажите плз, как правильно использовать HidP_GetUsageValue и HidP_SetUsageValue в HidComponent. Раньше просто разбирал значения в буфере, зная его структуру, но ведь правильнее через HidP_GetUsageValue вроде.
Вот как делаю:

TReport = packed record
ReportID: Byte;
Bytes: array [1..64] of Byte;
end;

Report: TReport;
data: cardinal;
k: integer;

Report.ReportID:=3;
GetFeature(Report);
CurrentDevice.ReportTypeParam:=0;//Input
CurrentDevice.UsagePageParam:=$14;//Alphnumeric Display
CurrentDevice.LinkCollectionParam:=0;
CurrentDevice.UsageParam:=$2c;//USAGE (Display Data)
k:=CurrentDevice.GetUsageValue(data, Report.Bytes, 12)

После вызова GetFeature(Report); буфер заполнен корректно, далее пытаюсь разобрать буфер с помощью HidP_GetUsageValue, но CurrentDevice.GetUsageValue возвращает некорректный результат.
Подскажите плз, что не так.
Bird2
Народ, как на счет USB/порт переходников Woodman. Рекламы в нете много, скорость до 220 мбит заявляют, софт простой (то есть библиотеки), цена... будем считать приемлимой, если не для домашних нужд. Правда в Беларусь не завозят вроде бы.
Заинтересовало...
alexander55
Цитата(Bird2 @ Feb 4 2008, 22:28) *
Народ, как на счет USB/порт переходников Woodman. Рекламы в нете много, скорость до 220 мбит заявляют, софт простой (то есть библиотеки), цена... будем считать приемлимой, если не для домашних нужд. Правда в Беларусь не завозят вроде бы.
Заинтересовало...

Насчет Woodman не знаю.
Я покупал готовые в Кее USB-COM. Впечатление хорошее.
Делал самопальные на FTDI FT232BM тоже работают без проблем.
Работаешь как с COM - под CBuilder для COM-порта куча компонентов. Можно обойтись и WinAPI.
Tcom
Цитата
Ссылочку не дадите ?

ftp://electronix.ru/pub/SDK/_Jungo_/
alexander55
Цитата(Tcom @ Feb 6 2008, 00:44) *

Спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.