Давно слежу за темой по использованию этой спецбиблиотеки для работы с USB. Пока есть время, решил ознакомится. Захотелось вот сделать USB джойстик на меге8 (как MJOY, только свой). Но ввиду того, что я плохо еще знаю USB, возникли трудности. Может кто-нибудь помочь с написанием программы или представить исходник, как это должно выглядеть. Для меня пока главное, чтобы в нем было две оси-X & Y и пока четыре кнопки. Буду очень благодарен!
USB джойстик на ATmega8
Сообщений 1 страница 11 из 11
Поделиться221.06.2010 17:16:56
Есть джойстик в одной осью и четырьмя кнопками.
Поделиться322.06.2010 01:25:48
Пётр, выложите, пожалуйста. Хотя бы такой глянуть.
И сразу вопрос, как описать в программе подключенное устройство (ну там, мышь, клавиатура, джойстик, если джойстик, то сколько кнопок и сколько осей и проч)? Через дескрипторы? Или там что-то иное?
Петр, если у Вас есть ася, мож через нее пообщаемся? Так довольно долго будем переписываться.
Отредактировано gryphon (22.06.2010 01:29:05)
Поделиться422.06.2010 11:50:23
Вот исходный текст джойстика http://depositfiles.com/files/skme8c7jr
Схема такая же как и у USB термометра, но без датчика температуры.
Кнопки и ось подключатеся к PortC.
Поделиться522.06.2010 12:43:05
А где текст? я его не вижу....
Поделиться622.06.2010 13:20:37
Это был какой-то глюк форума, ссыла в сообщении была, но не отображалась. Исправил http://depositfiles.com/files/skme8c7jr
как описать в программе подключенное устройство (ну там, мышь, клавиатура, джойстик, если джойстик, то сколько кнопок и сколько осей и проч)? Через дескрипторы? Или там что-то иное?
Информация об устройстве хранится в HID дескрипторе репорта.
У этого джойстика от такой
_usb_hid_reportdescriptor: Data 49 ' Length = 52 bytes Data &H5 , &H1 ' USAGE_PAGE (Generic Desktop) Data &H9 , &H5 ' USAGE (Game Pad) Data &HA1 , &H1 ' COLLECTION (Application) Data &H9 , &H1 ' USAGE (Pointer) Data &HA1 , &H0 ' COLLECTION (Physical) Data &H9 , &H30 ' USAGE (X) Data &H9 , &H31 ' USAGE (Y) Data &H15 , &HFF ' LOGICAL_MINIMUM (-1) Data &H25 , &H1 ' LOGICAL_MAXIMUM (1) Data &H95 , &H2 ' REPORT_COUNT (2) Data &H75 , &H2 ' REPORT_SIZE (2) Data &H81 , &H2 ' INPUT (Data,Var,Abs) Data &HC0 ' END_COLLECTION Data &H95 , &H4 ' REPORT_COUNT (4) Data &H75 , &H1 ' REPORT_SIZE (1) Data &H81 , &H3 ' INPUT (Cnst,Var,Abs) Data &H5 , &H9 ' USAGE_PAGE (Button) Data &H19 , &H1 ' USAGE_MINIMUM (Button 1) Data &H29 , &H8 ' USAGE_MAXIMUM (Button 8) Data &H25 , &H1 ' LOGICAL_MAXIMUM (1) Data &H15 , &H0 ' LOGICAL_MINIMUM (0) Data &H95 , &H8 ' REPORT_COUNT (8) Data &H75 , &H1 ' REPORT_SIZE (1) Data &H81 , &H2 ' INPUT (Data,Var,Abs) Data &HC0 ' END_COLLECTION
Поделиться722.06.2010 14:59:27
Пётр, спасибо! Буду экспериментировать.
Поделиться822.06.2010 16:09:15
Кнопки и ось подключатеся к PortC.
Я тут пробежался по программке и что-то не обнаружил команд снятия показаний АЦП. Да и вообще что-то не нашел, что-куда подключать. Объясните мне, такому бестолковому, куда и что подключить.
Поделиться922.06.2010 16:19:37
Там по видимуму просто в место оси используется 4 кнопки. Вообще, пример джойстика не мой, а ollopa http://www.mcselec.com/index2.php?optio … amp;t=7537
Поделиться1024.01.2011 23:56:55
Всем привет! а можно посмотреть исходник для МК?
Поделиться1125.01.2011 00:02:45
а можно посмотреть исходник для МК