Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PS2 keyboard
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
thorium
нужен кратенький хелпик по PS2. пишу драйверок PS2 для attiny2313.

1. после подачи на клавиатуру питания (не от компа. от БП), при нажатии кнопок она сразу отдает сканкоды клавиш или нужно конфигурирование какое-либо?
2. что за break codes и если код клавиши состоит из двух байт, то как они передаются?
3. правильно ли я понял, клавиатура сама генерирует Клок?
4. при передаче клава->тини, старт условие генерирует клавиатура после по крайней мере 50 мкс высокого уровня на клоке?
DASM
http://atmel.com/dyn/resources/prod_documents/doc1235.pdf
не помогает ?
=AVR=
Атмеловскую аппноту AVR313 почитай, там и исходники есть
thorium
спасиба
thorium
а клава сразу после подачи должна скан коды выдавать?
AndryG
Чего подачи?
после подачи питания клавиатура готова к работе ... я делал на at89c2051 вообще только прием данных -- даже кода для передачи в клаву небыло .. и работало всё.
rezident
Блин, когда же люди научатся поиском по форуму пользоваться? cranky.gif
alexander55
Цитата(rezident @ Nov 1 2007, 15:52) *
Блин, когда же люди научатся поиском по форуму пользоваться? cranky.gif

Хороший вопрос. У меня, например, при любом поиске всегда выдается ошибка (и ничего не находит). Я был уверен, что поиск не работает. 07.gif
PS. М.б. у меня что-то глючит.
rezident
Цитата(alexander55 @ Nov 1 2007, 18:28) *
Хороший вопрос. У меня, например, при любом поиске всегда выдается ошибка (и ничего не находит). Я был уверен, что поиск не работает. 07.gif
PS. М.б. у меня что-то глючит.

По трем символам (типа "PS2") поиск не работает.
alexander55
Цитата(rezident @ Nov 1 2007, 16:59) *
По трем символам (типа "PS2") поиск не работает.

Вот именно, а что делать тогда.
PS. Разобрался PS2* должно работать.
Новое - это хорошо забытое старое (поговорка).
AVR
Цитата(alexander55 @ Nov 1 2007, 16:28) *
Хороший вопрос. У меня, например, при любом поиске всегда выдается ошибка (и ничего не находит). Я был уверен, что поиск не работает. 07.gif
PS. М.б. у меня что-то глючит.
Я уже давно разочаровался в местном поиске... smile.gif
Но зато по сайту можно искать с помощью google.ru
Заходите и вводите в строку поиска, например:
site:electronix.ru PS2 клавиатура
и мгновенно всё найдётся...
ЗЫ Сори если сказал очевидную вещь, сам не так давно открыл для себя такой способ поиска smile.gif
sensor_ua
Цитата
Но зато по сайту можно искать с помощью google.ru
Заходите и вводите в строку поиска, например:
site:electronix.ru PS2 клавиатура

У меня на работе бан стоит на загрузку рекламы, ну и местный поиск вааще через бан не может пробиться. Потому пришёл к тому же способу (только у нас google.com.ua) - только пишу сначала что искать, а далее сайт - не знал, что можно и наоборот/
По теме - на avrfreaks.net есть готовые проекты клавиатур (не один)
grach41
Написать прогу это пол дела, а как клаву эмулировать в VMLAB , хотя бы коды с неё crying.gif
AndryG
Дык есть в ВМЛАБе "типа генератор любых последовательностей" ... Вы изучали его возможности?
thorium
у атмела хороший сорц. после адаптации заработал сполтычка.
если отлаживаешь с авр студии, то ноги можно подергать и вручную как нарисовано в той ссылке, которую уже дали выше(там примерчик ё...) тока в том сорце таблицы перекодировки кривоваты.
ети лучше
__flash unsigned char unshifted[][2] = {
0x0d,9,//tab
0x0e,'`',
0x15,'q',
0x16,'1',
0x1a,'z',
0x1b,'s',
0x1c,'a',
0x1d,'w',
0x1e,'2',
0x21,'c',
0x22,'x',
0x23,'d',
0x24,'e',
0x25,'4',
0x26,'3',
0x29,' ',
0x2a,'v',
0x2b,'f',
0x2c,'t',
0x2d,'r',
0x2e,'5',
0x31,'n',
0x32,'b',
0x33,'h',
0x34,'g',
0x35,'y',
0x36,'6',
0x39,'l',
0x3a,'m',
0x3b,'j',
0x3c,'u',
0x3d,'7',
0x3e,'8',
0x41,',',
0x42,'k',
0x43,'i',
0x44,'o',
0x45,'0',
0x46,'9',
0x49,'.',
0x4a,'/',
0x4b,'l',
0x4c,';',
0x4d,'p',
0x4e,'-',
0x52,39,
0x54,'[',
0x55,'=',
0x5a,13,//enter
0x5b,']',
0x5d,92,
0x61,0x61,
0x66,8,//backspace
0x69,'1',//end
0x6b,'4',//arrlt
0x6c,'7',//home
0x70,'0',//ins
0x71,'.',//del
0x72,'2',//arrdn
0x73,'5',
0x74,'6',//arrrt
0x75,'8',//arrup
0x79,'+',
0x7a,'3',//pgdn
0x7b,'-',
0x7c,'*',
0x7d,'9',//pgup
0,0
};

// Shifted characters
__flash unsigned char shifted[][2] = {
0x0d,9,
0x0e,'~',
0x15,'Q',
0x16,'!',
0x1a,'Z',
0x1b,'S',
0x1c,'A',
0x1d,'W',
0x1e,'@',
0x21,'C',
0x22,'X',
0x23,'D',
0x24,'E',
0x25,'$',
0x26,'#',
0x29,' ',
0x2a,'V',
0x2b,'F',
0x2c,'T',
0x2d,'R',
0x2e,'%',
0x31,'N',
0x32,'B',
0x33,'H',
0x34,'G',
0x35,'Y',
0x36,'^',
0x39,'L',
0x3a,'M',
0x3b,'J',
0x3c,'U',
0x3d,'&',
0x3e,'*',
0x41,'<',
0x42,'K',
0x43,'I',
0x44,'O',
0x45,')',
0x46,'(',
0x49,'>',
0x4a,'?',
0x4b,'L',
0x4c,':',
0x4d,'P',
0x4e,'_',
0x52,'"',
0x54,'{',
0x55,'+',
0x5a,13,
0x5b,'}',
0x5d,'|',
0x61,'>',
0x66,8,
0x69,'1',
0x6b,'4',
0x6c,'7',
0x70,'0',
0x71,'.',
0x72,'2',
0x73,'5',
0x74,'6',
0x75,'8',
0x79,'+',
0x7a,'3',
0x7b,'-',
0x7c,'*',
0x7d,'9',
0,0
};
Kuzmi4
От это лень кому-то скан-код шифта послать - и начинаются таблицы - я как-то без них обходился smile.gif всё сам как на клаве нажимаю передавал и получал biggrin.gif
Хотя - "...каждому своё..."...
grach41
Вообще-то из клавы лезет две последовательности CLOCK и DATA , я так думаю ,и как их засинхронизировать их не дошёл.
пробовал писать настройке <Xserial TTY(19200 8) PD0 PD2> не получилось. И натолкните на "типа генератор любых последовательностей"
AndryG
Три варианта ...
1 одну линию генерить клоки .. к ней же подцепить RC-цепочку ... длинный клок - появится единица и на ДАТА... короткий клок - появится единица на ДАТА .. но это так ... фигня. (если чесно, то я думал, что можно два генератора запускать сразу - ошибся)
2 используйте возможность ВМЛАБа эмулировать несколько процов -- один из них пусть будет клавиатурой.
3 плюньте на эмуляцию клавы ... подключение клавиатуры - часть моего первого проект на контроллерах ... я клаву подключил за три дня ... на асме. Ничего там сложного - можно и руками подергать немного пины.

Вы лучше писать начните ... чем эмуляцией заморачиваться ... тогда и вопросы толковые будут .. если будут.

И ЕЩЕ ...
<Xserial TTY(19200 8) PD0 PD2> -- это немного не то.

Сейчас ВМЛАБ нет на компе .. вот выдрал с архива:
Код
P1  NRZ(600u) PD3    KEY_1 "111000010010101010101001001001001001001"
+   RESET "1"

Это "типа передатчик ДУ SONY протокол SIRC"

Попробуйте назначить на одну кнопку ДВА генератора на разные пины .. может пройдет .... тогда они будут запускаться одновременно - и получите то что хотите.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.