У мну вопрос. Решился на имплементацию USB. Прошил контроллер, подключил, он определился. Все здорово. Затем Delphi+JVCLTools. Поставил TJVHID. Написал в обработчике enumerate код, указанный на пред странице. Взял код для функции Write - воткнул в контроллер. Прошил. Запускаю приложение на PC, жму кнопку... Светодиод ярко выспыхивает и гаснет... Два вечера уже мучаюсь - ниче понять не могу. Кто может подсказать, в чем трабл?
Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58 Сообщений: 651 Откуда: Самара
Рейтинг сообщения:0
Для МК смотри код где я написал "Всё заработало наконец то!!!!!!!!!!!!" (выше по тексту)
Для Делфи вот:
Код:
..... var Form1: TForm1; FeatureReportLen: integer = 0; MyReport: array[0..8] of byte; on_off:integer=0;
implementation
{$R *.dfm}
function TForm1.JvHidDeviceController1Enumerate(HidDev: TJvHidDevice; const Idx: Integer): Boolean; begin FeatureReportLen := HidDev.Caps.FeatureReportByteLength; fillchar(MyReport, 8, 0);
if on_off=0 then begin MyReport[1] := 0; on_off:=1; end else begin MyReport[1] := 1; on_off:=0; end; Result := HidDev.SetFeature(MyReport, FeatureReportLen); end;
procedure TForm1.Button1Click(Sender: TObject); begin JvHidDeviceController1.Enumerate; end;
_________________ Нельзя всё знать, достаточно понимать.
Пробовал управлять 8-ю светодиодами из Delphi. Пример моего проекта работы с HID устройством выполнен с использованием базы V-USB от Objective Development
Уважаемые коты давайте подумает над хост программой. Как заставить бейсик (ну с ходом времени уже "бейсик нет") работать с хид устройством. есть библиотека libusb0.dll, в ней собственно функции работы с хидами
если кому то проще прочитать в готовых работающих исходниках то http://microsin.ru/Download.cnt/avr/set-led-gui.zip Но здесь на си, нам же надо добиться работы из бэйсика как самого "доступного" для понимания языка
_________________ в спорах рождается ИСТИНА [AND] flud.
Итак прогуглив нашлась библиотека от "бейсик нет" libUsbDotNet В ней есть примеры на бейсике, там прямо в ехе пакете поставляется. Теперь осталось написать код под наше устройство. немного разобрал но почему то валится в тайм аут. подскажите по паре функций, возможно я ставлю несуществующие репорты. что есть ReadEndpointID.Ep01? и ' Select config #1 wholeUsbDevice.SetConfiguration(1)
' Claim interface #0. wholeUsbDevice.ClaimInterface(0) никак не разберусь. что делают эти функции?
Вложения:
Комментарий к файлу: исходники под VB NET (чтение данных из устройства) для работы требуется libUsbDotNet USB.zip [211.45 KiB]
Скачиваний: 269
_________________ в спорах рождается ИСТИНА [AND] flud.
да в том том и проблема что под си идут другие функции чтения записи. Бэйсик вроде уже должен работать, но видимо проблема в самом элементарном, как всегда
Цитата:
Как уже упоминалось ранее, весь обмен данными с HID-устройствами осуществляется при помощи репортов. Они бывают трех типов:
l INPUT- и OUTPUT-репорты используются для периодических передачи и приема данных. Примером может служить периодическая информация о перемещении мыши.
l FEATURE-репорты обычно используются для установки различных свойств и параметров, а также передачи других данных в тех случаях, когда предположить периодичность появляния таких данных сложно. FEATURE-репорты бывают как направления IN, так и направления OUT. Такие репорты передаются и принимаются только по каналу нулевой конечной точки.
_________________ в спорах рождается ИСТИНА [AND] flud.
Заголовок сообщения: Re: Простейший код HID. Везде только слова, мыши и джойстики
Добавлено: Сб апр 17, 2010 13:47:45
Потрогал лапой паяльник
Зарегистрирован: Вс мар 30, 2008 14:31:51 Сообщений: 331
Рейтинг сообщения:0
Цитата:
Бэйсик вроде уже должен работать, но видимо проблема в самом элементарном, как всегда
Бейсик прекрасно работает с USB HID устройствами! Вот пример программы на бейсике (для компа и контроллера) http://purebasic.mybb.ru/viewtopic.php?id=46 Интересно то, что исполняемый файл, имеет размер, всего 30КБ и этом при том, что никакие библиотеки кроме системных не используются, т. е. весь код в исполняемом файле. Runtime нет!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения