Например TDA7294

Форум РадиоКот • Просмотр темы - Простейший код HID. Везде только слова, мыши и джойстики...
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт июл 25, 2025 23:46:25

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 209 ]    , , , , 5, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб май 09, 2009 14:42:41 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Слушайте, ну я не знаю что делать.

Код:
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 
Нашел транзистор. Понюхал.

Зарегистрирован: Ср апр 22, 2009 11:07:00
Сообщений: 161
Рейтинг сообщения: 0
Так в схеме PB0 а в программе PB7. Замените 80 на 01.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс май 10, 2009 19:07:10 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
_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 
Нашел транзистор. Понюхал.

Зарегистрирован: Ср апр 22, 2009 11:07:00
Сообщений: 161
Рейтинг сообщения: 0
Да пожалусто 8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс май 17, 2009 11:40:28 
Открыл глаза

Зарегистрирован: Сб дек 06, 2008 13:48:59
Сообщений: 54
Рейтинг сообщения: 0
а такое возможно написать на ASM?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс май 17, 2009 15:17:29 
Нашел транзистор. Понюхал.

Зарегистрирован: Ср апр 22, 2009 11:07:00
Сообщений: 161
Рейтинг сообщения: 0
что именно?


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс май 17, 2009 17:49:20 
Открыл глаза

Зарегистрирован: Сб дек 06, 2008 13:48:59
Сообщений: 54
Рейтинг сообщения: 0
вот что вы пытаетесь написать в теме...
HID девайс... я так понял что можно любую ногу дергать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс май 17, 2009 18:10:19 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Пн дек 24, 2007 07:09:09
Сообщений: 293
Рейтинг сообщения: 0
Ну тип того, вообще при желании можно все.

_________________
Даташит - библия моя...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс май 17, 2009 18:27:37 
Нашел транзистор. Понюхал.

Зарегистрирован: Ср апр 22, 2009 11:07:00
Сообщений: 161
Рейтинг сообщения: 0
На бессмысленные вопросы как правило еще более безсмысленные вопросы :P
На асме можно абсолютно все что только вообще можно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт май 22, 2009 03:35:44 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Пн янв 16, 2006 08:00:17
Сообщений: 534
Откуда: Иркутск
Рейтинг сообщения: 0
Всем доброго дня.

У мну вопрос. Решился на имплементацию USB. Прошил контроллер, подключил, он определился. Все здорово. Затем Delphi+JVCLTools. Поставил TJVHID. Написал в обработчике enumerate код, указанный на пред странице. Взял код для функции Write - воткнул в контроллер. Прошил. Запускаю приложение на PC, жму кнопку... Светодиод ярко выспыхивает и гаснет... Два вечера уже мучаюсь - ниче понять не могу. :(
Кто может подсказать, в чем трабл?

_________________
Today fine night...


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн май 25, 2009 20:26:39 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Резистор перед светодиодом есть?

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср май 27, 2009 17:47:52 
Открыл глаза

Зарегистрирован: Сб дек 06, 2008 13:48:59
Сообщений: 54
Рейтинг сообщения: 0
светодиод погорел...


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт май 29, 2009 00:03:45 
Открыл глаза

Зарегистрирован: Сб дек 06, 2008 13:48:59
Сообщений: 54
Рейтинг сообщения: 0
можно примерчик?
есть HID профиль.... допустим мы послали нашему девайсу байт.. не любой а определенный, ножка мк переключилась...

нужно делать прошивку с массивом? приняли байты, отыскали в массиве эти байты, сделали переход и вуаля..

возможно?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт июн 18, 2009 15:25:46 
Вымогатель припоя
Аватар пользователя

Карма: 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;

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс окт 25, 2009 18:16:46 
Родился
Аватар пользователя

Зарегистрирован: Вс окт 25, 2009 18:06:02
Сообщений: 1
Рейтинг сообщения: 0
Пробовал управлять 8-ю светодиодами из Delphi. Пример моего проекта работы с HID устройством выполнен с использованием базы V-USB от Objective Development

Схема устройства

Изображение

код программы можно посмотреть на форуме:

http://forum.vingrad.ru/forum/topic-233737/15.html

Для обращения к HID устройству использовал компонент JvHidControllerClass библиотеки JEDI

Проект полностью готовый, проверенный и подробно разжованный - проще некуда!


Последний раз редактировалось pvabox Пт ноя 05, 2010 15:46:22, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Простейший код HID. Везде только слова, мыши и джойстики
СообщениеДобавлено: Чт апр 15, 2010 22:05:03 
IT KT
Аватар пользователя

Карма: 19
Рейтинг сообщений: 10
Зарегистрирован: Пн авг 25, 2008 08:49:33
Сообщений: 1309
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Уважаемые коты давайте подумает над хост программой.
Как заставить бейсик (ну с ходом времени уже "бейсик нет") работать с хид устройством.
есть библиотека libusb0.dll,
в ней собственно функции работы с хидами

если кому то проще прочитать в готовых работающих исходниках то http://microsin.ru/Download.cnt/avr/set-led-gui.zip Но здесь на си, нам же надо добиться работы из бэйсика как самого "доступного" для понимания языка :)

_________________
в спорах рождается ИСТИНА [AND] flud.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Простейший код HID. Везде только слова, мыши и джойстики
СообщениеДобавлено: Пт апр 16, 2010 08:33:18 
IT KT
Аватар пользователя

Карма: 19
Рейтинг сообщений: 10
Зарегистрирован: Пн авг 25, 2008 08:49:33
Сообщений: 1309
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Итак прогуглив нашлась библиотека от "бейсик нет" 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.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Простейший код HID. Везде только слова, мыши и джойстики
СообщениеДобавлено: Пт апр 16, 2010 09:08:36 
Мучитель микросхем

Карма: 7
Рейтинг сообщений: 44
Зарегистрирован: Ср июн 21, 2006 08:24:32
Сообщений: 465
Откуда: Лисичанск
Рейтинг сообщения: 0
Посмотри в конце статьи 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 
IT KT
Аватар пользователя

Карма: 19
Рейтинг сообщений: 10
Зарегистрирован: Пн авг 25, 2008 08:49:33
Сообщений: 1309
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
да в том том и проблема что под си идут другие функции чтения записи. Бэйсик вроде уже должен работать, но видимо проблема в самом элементарном, как всегда :)

Цитата:
Как уже упоминалось ранее, весь обмен данными с 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 нет! :)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 209 ]    , , , , 5, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y