PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Программирование микроконтроллеров » USB джойстик на ATmega8


USB джойстик на ATmega8

Сообщений 1 страница 11 из 11

1

Давно слежу за темой по использованию этой спецбиблиотеки для работы с USB. Пока есть время, решил ознакомится. Захотелось вот сделать USB джойстик на меге8 (как MJOY, только свой). Но ввиду того, что я плохо еще знаю USB, возникли трудности. Может кто-нибудь помочь с написанием программы или представить исходник, как это должно выглядеть. Для меня пока главное, чтобы в нем было две оси-X & Y и пока четыре кнопки. Буду очень благодарен!

0

2

Есть джойстик в одной осью и четырьмя кнопками.

0

3

Пётр, выложите, пожалуйста. Хотя бы такой глянуть.
И сразу вопрос, как описать в программе подключенное устройство (ну там, мышь, клавиатура, джойстик, если джойстик, то сколько кнопок и сколько осей и проч)? Через дескрипторы? Или там что-то иное?
Петр, если у Вас есть ася, мож через нее пообщаемся? Так довольно долго будем переписываться.

Отредактировано gryphon (22.06.2010 01:29:05)

0

4

Вот исходный текст джойстика http://depositfiles.com/files/skme8c7jr
Схема такая же как и у USB термометра, но без датчика температуры.
Кнопки и ось подключатеся к PortC.

0

5

А где текст? я его не вижу....

0

6

Это был какой-то глюк форума, ссыла в сообщении была, но не отображалась. Исправил http://depositfiles.com/files/skme8c7jr

gryphon написал(а):

как описать в программе подключенное устройство (ну там, мышь, клавиатура, джойстик, если джойстик, то сколько кнопок и сколько осей и проч)? Через дескрипторы? Или там что-то иное?

Информация об устройстве хранится в 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

0

7

Пётр, спасибо! Буду экспериментировать.

0

8

Пётр написал(а):

Кнопки и ось подключатеся к PortC.

Я тут пробежался по программке и что-то не обнаружил команд снятия показаний АЦП. Да и вообще что-то не нашел, что-куда подключать. Объясните мне, такому бестолковому, куда и что подключить.

0

9

Там по видимуму просто в место оси используется 4 кнопки. Вообще, пример джойстика не мой, а ollopa http://www.mcselec.com/index2.php?optio … amp;t=7537

0

10

Всем привет! а можно посмотреть исходник для МК?

0

11

Denis написал(а):

а можно посмотреть исходник для МК

Вот http://pure-basic.narod.ru/forum/joystick_ATmega8.rar

0


Вы здесь » PureBasic - форум » Программирование микроконтроллеров » USB джойстик на ATmega8