Jump to content
    

Привет всем!

Хочу научиться разрабатывать программы для USB. Мечта такая - с одной стороны AT91SAM7Sxx с другой Windows XP. Подскажите доку по написанию драйвера (винда) и примерчик (может быть) программы (под винду) обмена с драйвером, спасибо..

Share this post


Link to post
Share on other sites

А Вы определились, что именно хотите получить от USB? Без опыта писать драйвер - дело мутное и долгое. Может Вам хватит возможностей HID, тогда есть достаточно хороший компонент ( у меня работает для Delphi7 и CBuilder6) HidController

HidComponent

Share this post


Link to post
Share on other sites

Может Вам хватит возможностей HID, тогда есть достаточно хороший компонент ( у меня работает для Delphi7 и CBuilder6) HidController

HidComponent

Меня интересует:

- установка компонента под CBuilder6

- примеры под CBuilder6.

Share this post


Link to post
Share on other sites

Меня интересует:

- установка компонента под CBuilder6

- примеры под CBuilder6.

 

 

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

Я всегда использовал компоненты чисто под Builder. Дельфийские компоненты использовать остерегался (хотя понимаю, что они растут из одного корня). :biggrin:

Вопрос такой.

При использовании компонента от дельфи в Builder требуется ли устанавливать Delphi или не требуется ?

Share this post


Link to post
Share on other sites

При использовании компонента от дельфи в 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;
        }
    }
}

Share this post


Link to post
Share on other sites

Спасибо, буду экспериментировать.

Только попробовал установить компонент, сразу вылезли грабли.

В Builder установка компонентов осуществляется через пакеты (Package). Это файлы с расширением *.bpk.

В этом компоненте я ничего подобного не увидел.

Подскажите мне направление движения.

Share this post


Link to post
Share on other sites

В Builder установка компонентов осуществляется через пакеты (Package). Это файлы с расширением *.bpk.

В этом компоненте я ничего подобного не увидел.

Подскажите мне направление движения.

 

Не только через packages.

Component->InstallComponent->Unit File Name (Browse...). Указываете JvHidControllerClass.pas. Не забудьте выбрать тип файла Pascal uint (*.pas).

Далее как и в Delphi.

После установки должна появится закладка Project Jedi с установленным компонентом.

Share this post


Link to post
Share on other sites

Спасибо.

Все получилось (без установки Delphi).

Builder сам перестроил пакет, который был последний (для мной добавляемых компонентов) и установил компонент. А без указания пакета ничего не получалось.

Надо что-то почитать для устранения тумана в голове.

Share this post


Link to post
Share on other sites

Я вот порывшись в сети и скачавши с FTP електроникса Jungo WinDriver. Там есть и шаблон C++Builder, делфи VC и многое другое.

Share this post


Link to post
Share on other sites

Я вот порывшись в сети и скачавши с FTP електроникса Jungo WinDriver. Там есть и шаблон C++Builder, делфи VC и многое другое.

Ссылочку не дадите ?

Share this post


Link to post
Share on other sites

Подскажите плз, как правильно использовать 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 возвращает некорректный результат.

Подскажите плз, что не так.

Share this post


Link to post
Share on other sites

Народ, как на счет USB/порт переходников Woodman. Рекламы в нете много, скорость до 220 мбит заявляют, софт простой (то есть библиотеки), цена... будем считать приемлимой, если не для домашних нужд. Правда в Беларусь не завозят вроде бы.

Заинтересовало...

Share this post


Link to post
Share on other sites

Народ, как на счет USB/порт переходников Woodman. Рекламы в нете много, скорость до 220 мбит заявляют, софт простой (то есть библиотеки), цена... будем считать приемлимой, если не для домашних нужд. Правда в Беларусь не завозят вроде бы.

Заинтересовало...

Насчет Woodman не знаю.

Я покупал готовые в Кее USB-COM. Впечатление хорошее.

Делал самопальные на FTDI FT232BM тоже работают без проблем.

Работаешь как с COM - под CBuilder для COM-порта куча компонентов. Можно обойтись и WinAPI.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...