реклама на сайте
подробности

 
 
> Компьютер-клавиатура-ПИК. Проблема с PS/2.
Al Prad
сообщение Mar 27 2007, 09:55
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 21-09-06
Пользователь №: 20 568



Здравствуйте, коллеги!

Собираю устройство, включаемое параллельно PS/2 между компьютером и клавиатурой. Устройство должно отображать на LCD нажатые клавиши. Использую MikroC v 6.2. Все работает нормально до тех пор, пока я не нажму CapsLock или NumLock. После этого клавиатура виснет и приходится ее выдергивать и вставлять обратно. На форуме производителя MikroC предположили , что ПИК согласно протоколу обмена выставляет 0 на Data и тем самым вносит помехи в обмен между РС и клавиатурой. Тогда я добавил по два инвертора на Clk и Data, идущие к ПИКу. В таком случае пик уже не может влиять на эти шины. Теперь CapsLock нажимается без последующих зависаний, но кнопки опознаются одна из пяти примерно.

Прошу совета, как побороть проблему.


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
upc2
сообщение Apr 2 2007, 16:05
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



CapsLock и NumLock это 2-х байтные команды.Я не заметил где вы их обрабатываете, но это и не важно. Порт А не должен влиять на клавиатуру если его TRISa не переключается на вывод данных.
По фрагменту кода вашей программы -все нормально, но работу функции Ps2_Key_Read(&value, &special, &pressed) не видно.Не пробовали осциллографом посмотреть , что творится на RA0 и RA1.?
Их же необходимо подтянуть к +5в.
Напишите свою функцию Key_Read.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 19:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01358 секунд с 7
ELECTRONIX ©2004-2016