roboforum.ru

Технический форум по робототехнике.

 

джойстик PS2 к AVR -asm

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

джойстик PS2 к AVR -asm

Сообщение milkpower » 30 окт 2009, 17:00

прикручиваю джойстик к меге128, к порту F

Код: Выделить всёРазвернуть
joy_com:   ;joyin   joyout  portF
   ;bit0 data   джойстик out                  
   ;bit1 cmd   джойстик in                  
   ;bit2 ATT   select device 0=select   port out
   ;bit3 CLK   clock
   ;bit4 ACK   подтверждение передачи
   ldi temp,0b11101110
   sts   DDRF,temp
   mov   temp,joyin
   ldi r17,8
   clr   joyout
t0:   clr temp1
   lsr temp   ;сдвиг в перенос
   rol temp1   ;перенос во 2-й бит
   rol temp1
   andi temp1,0b00000010
   ori temp1, 0b00001000   ;set clc=1
   sts   portF,temp1
   nop
   nop
   andi temp1,0b00000010    ;set clc=0
   sts   portF,temp1
   nop
   nop
   ldi temp1,$03
   sts portF,temp1
   lds temp1,pinF
   lsr temp1
   rol   joyout
   dec   r17
   brne t0
t1:   lds temp1,pinF
   andi   temp1,0b00010000
   brne t1
   ldi temp1,0b00000100
   sts portF,temp1
   ret

результат показывается на жк, но что-то не выходит аленький цветочек. может направильно читается порт?
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

Re: джойстик PS2 к AVR -asm

Сообщение galex1981 » 30 окт 2009, 17:36

Во-первых что за джойстик? Во вторых что такое аленький цветочек?
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4360
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: джойстик PS2 к AVR -asm

Сообщение milkpower » 30 окт 2009, 18:04

джойстик плейстейшн2
по поводу второго - из подпрограммы возвращается мусор, либо нули.

Добавлено спустя 18 минут 57 секунд:
кстати если кому надо, чтоб не потерялось
http://www.gamesx.com/controldata/psxcont/psxcont.htm
описание протокола PlayStation-контроллера
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

Re: джойстик PS2 к AVR -asm

Сообщение EdGull » 30 окт 2009, 20:15

в фусибитах режим меги103 выключил?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: джойстик PS2 к AVR -asm

Сообщение milkpower » 30 окт 2009, 22:30

выключен, вроде, =) в AVR_USB_ASP нет галки.
но впечатление что из порта вообще тишина.

Добавлено спустя 2 минуты 59 секунд:
проверил с включением бита, нет изменений.
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

Re: джойстик PS2 к AVR -asm

Сообщение EdGull » 30 окт 2009, 22:49

схему в студию!
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: джойстик PS2 к AVR -asm

Сообщение milkpower » 31 окт 2009, 00:55

вот как подключал

ps2.jpg


GND VCC подключены соответственно
геймпад включается, реагирует на сигнал ATT. если его вырубить, то не включается режим Analog.
но данные с пада не читаются.
девайс 100% рабочий, проверил у соседа :)
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

Re: джойстик PS2 к AVR -asm

Сообщение galex1981 » 31 окт 2009, 01:23

А не нужны ли в этой схеме подтягивающие резисторы на каких либо ножках?
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4360
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: джойстик PS2 к AVR -asm

Сообщение milkpower » 31 окт 2009, 01:56

нашел несколько схем переходников PS2->USB и на аврках и на пиках, нигде нет подтягивающих.
на том же радиокоте есть переходник на авр-ке со схемой.

дело в том что в дебагере астудио от команды
lds Rx,pinF
в Rx ничего не приходит
но если переделать на портВ и
in Rx,pinB
в Rx все как надо.
но в наличии только portF

может в меге128 с портом F какие-то тонкости есть, которые в даташите не описаны?
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

Re: джойстик PS2 к AVR -asm

Сообщение Michael_K » 31 окт 2009, 02:11

Может быть попробовать JTAG фьюзами выключить?
Аватара пользователя
Michael_K
 
Сообщения: 6034
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: джойстик PS2 к AVR -asm

Сообщение milkpower » 31 окт 2009, 02:37

jtag был изначально выключен. да и включение ни к чему другому не приводит :)
вобщем завтра разведу макетку на мегу16, попробую на других портах. если там будет работать, то буду уже ковырять этот злополучный portF.
Аватара пользователя
milkpower
 
Сообщения: 217
Зарегистрирован: 25 мар 2009, 13:57
Откуда: Ростов-на-Дону
ФИО: Виктор

Re: джойстик PS2 к AVR -asm

Сообщение EdGull » 31 окт 2009, 08:50

у меги128 порт F будет работать если отключить в фусибитах JTAG и mode103
больше ничего делать не нужно.

попробуй просто помограть светодиодами на этом порту
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: джойстик PS2 к AVR -asm

Сообщение SERGEY_M » 31 окт 2009, 10:43

насколько я помню, к портам F и G у Меги128 обращаться нужно не как к регистру, а как к ячейке памяти RAM

Добавлено спустя 7 минут 48 секунд:
ой, пардон, не заметил "lds Rx,pinF"
ща умную книгу взял, так там у PINF два адреса, $00($20)
так что можно вроде использовать in Rx,pinF :pardon:
Аватара пользователя
SERGEY_M
 
Сообщения: 682
Зарегистрирован: 20 мар 2009, 12:45
Откуда: Украина, Одесса
ФИО: Сергей

Re: джойстик PS2 к AVR -asm

Сообщение EdGull » 31 окт 2009, 11:17

у нас в васике разницы нет, portF ничем от других не отличается
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: джойстик PS2 к AVR -asm

Сообщение Michael_K » 31 окт 2009, 13:20

так что можно вроде использовать in Rx,pinF

Так вот в чем дело!
Посмотрите, как определен пинФ в хедере
и попробуйте изпользовать команду "ин"
Аватара пользователя
Michael_K
 
Сообщения: 6034
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

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

Mail.ru counter