Страница 5 из 11
Добавлено: Сб май 09, 2009 14:42:41
mr_smit
Слушайте, ну я не знаю что делать.
Код: Выделить всё
uchar usbFunctionWrite(uchar *data, uchar len)
{
uchar on_off;
on_off = data[0];
DDRB |= 0x80;
if (on_off==0) {
PORTB &= ~ ( 0x80 );
}
return 1; /* return 1 if this was the last chunk */
}
Не работает.
Контроллер рабочий. PB0 тоже. Залил бегущие огни - всё работает.
Добавлено: Сб май 09, 2009 15:55:04
_PM_
Так в схеме PB0 а в программе PB7. Замените 80 на 01.
Добавлено: Вс май 10, 2009 19:07:10
mr_smit
_PM_ спасибо.
Всё заработало наконец то!!!!!!!!!!!!
Код: Выделить всё
uchar usbFunctionWrite(uchar *data, uchar len)
{
uchar on_off;
on_off = data[0];
DDRB |= 0x01;
if (on_off==0) {
PORTB &= ~ ( 0x01 );
}
else if (on_off==1) {
PORTB |= ( 0x01 );
}
return 1; /* return 1 if this was the last chunk */
}
Добавлено: Вс май 10, 2009 19:36:01
_PM_
Да пожалусто

Добавлено: Вс май 17, 2009 11:40:28
AVRDaemon
а такое возможно написать на ASM?
Добавлено: Вс май 17, 2009 15:17:29
_PM_
что именно?
Добавлено: Вс май 17, 2009 17:49:20
AVRDaemon
вот что вы пытаетесь написать в теме...
HID девайс... я так понял что можно любую ногу дергать?
Добавлено: Вс май 17, 2009 18:10:19
VenomXP
Ну тип того, вообще при желании можно все.
Добавлено: Вс май 17, 2009 18:27:37
_PM_
На бессмысленные вопросы как правило еще более безсмысленные вопросы
На асме можно абсолютно все что только вообще можно.
Добавлено: Пт май 22, 2009 03:35:44
Mamonth
Всем доброго дня.
У мну вопрос. Решился на имплементацию USB. Прошил контроллер, подключил, он определился. Все здорово. Затем Delphi+JVCLTools. Поставил TJVHID. Написал в обработчике enumerate код, указанный на пред странице. Взял код для функции Write - воткнул в контроллер. Прошил. Запускаю приложение на PC, жму кнопку... Светодиод ярко выспыхивает и гаснет... Два вечера уже мучаюсь - ниче понять не могу.

Кто может подсказать, в чем трабл?
Добавлено: Пн май 25, 2009 20:26:39
mr_smit
Резистор перед светодиодом есть?
Добавлено: Ср май 27, 2009 17:47:52
AVRDaemon
светодиод погорел...
Добавлено: Пт май 29, 2009 00:03:45
AVRDaemon
можно примерчик?
есть HID профиль.... допустим мы послали нашему девайсу байт.. не любой а определенный, ножка мк переключилась...
нужно делать прошивку с массивом? приняли байты, отыскали в массиве эти байты, сделали переход и вуаля..
возможно?
Добавлено: Чт июн 18, 2009 15:25:46
mr_smit
Для МК смотри код где я написал "Всё заработало наконец то!!!!!!!!!!!!" (выше по тексту)
Для Делфи вот:
Код: Выделить всё
.....
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;
Добавлено: Вс окт 25, 2009 18:16:46
pvabox
Пробовал управлять 8-ю светодиодами из Delphi. Пример моего проекта работы с HID устройством выполнен с использованием базы V-USB от Objective Development
Схема устройства
код программы можно посмотреть на форуме:
http://forum.vingrad.ru/forum/topic-233737/15.html
Для обращения к HID устройству использовал компонент JvHidControllerClass библиотеки JEDI
Проект полностью готовый, проверенный и подробно разжованный - проще некуда!
Re: Простейший код HID. Везде только слова, мыши и джойстики
Добавлено: Чт апр 15, 2010 22:05:03
demson
Уважаемые коты давайте подумает над хост программой.
Как заставить бейсик (ну с ходом времени уже "бейсик нет") работать с хид устройством.
есть библиотека libusb0.dll,
в ней собственно функции работы с хидами
если кому то проще прочитать в готовых работающих исходниках то
http://microsin.ru/Download.cnt/avr/set-led-gui.zip Но здесь на си, нам же надо добиться работы из бэйсика как самого "доступного" для понимания языка

Re: Простейший код HID. Везде только слова, мыши и джойстики
Добавлено: Пт апр 16, 2010 08:33:18
demson
Итак прогуглив нашлась библиотека от "бейсик нет" libUsbDotNet
В ней есть примеры на бейсике, там прямо в ехе пакете поставляется.
Теперь осталось написать код под наше устройство.
немного разобрал но почему то валится в тайм аут.
подскажите по паре функций, возможно я ставлю несуществующие репорты.
что есть ReadEndpointID.Ep01?
и ' Select config #1
wholeUsbDevice.SetConfiguration(1)
' Claim interface #0.
wholeUsbDevice.ClaimInterface(0)
никак не разберусь. что делают эти функции?
Re: Простейший код HID. Везде только слова, мыши и джойстики
Добавлено: Пт апр 16, 2010 09:08:36
Radan
Посмотри в конце статьи
http://bascom.at.ua/publ/usb_termometr_ ... 8/1-1-0-30 есть код как для Си шарпа, так и для Бейсика-нет. Там же и ХИД - устройство на баскоме. Обсуждение сего чуда -
http://bascomavr.3bb.ru/viewtopic.php?id=254
Re: Простейший код HID. Везде только слова, мыши и джойстики
Добавлено: Пт апр 16, 2010 10:48:44
demson
да в том том и проблема что под си идут другие функции чтения записи. Бэйсик вроде уже должен работать, но видимо проблема в самом элементарном, как всегда
Как уже упоминалось ранее, весь обмен данными с HID-устройствами осуществляется при помощи репортов. Они бывают трех типов:
l INPUT- и OUTPUT-репорты используются для периодических передачи и приема данных. Примером может служить периодическая информация о перемещении мыши.
l FEATURE-репорты обычно используются для установки различных свойств и параметров, а также передачи других данных в тех случаях, когда предположить периодичность появляния таких данных сложно. FEATURE-репорты бывают как направления IN, так и направления OUT. Такие репорты передаются и принимаются только по каналу нулевой конечной точки.
Re: Простейший код HID. Везде только слова, мыши и джойстики
Добавлено: Сб апр 17, 2010 13:47:45
PB_EXPERT
Бэйсик вроде уже должен работать, но видимо проблема в самом элементарном, как всегда
Бейсик прекрасно работает с USB HID устройствами!
Вот пример программы на бейсике (для компа и контроллера)
http://purebasic.mybb.ru/viewtopic.php?id=46
Интересно то, что исполняемый файл, имеет размер, всего 30КБ и этом при том, что никакие библиотеки кроме системных не используются, т. е. весь код в исполняемом файле.
Runtime нет!
