У самого такая первая мысль была (когда прочитал, что такое fuses), поэтому первым делом попробовал и сбрасывать, и ставить обратно...
Вид для печати
Не надо перебирать все возможные значения FUSES.
Ставить надо так.
Надо учесть, что off означает "1" on "0".Код:FUSES для ATMega48
в контроллере PS/2 клавиатуры для Ориона:
-------------------------------------
Name ! Default ! SET ! MODE
-------------------------------------
CKSEL0 ! on ! on !\
CKSEL1 ! off ! off ! > - внутренний генаратор 8 Мгц.
CKSEL2 ! on ! on ! /
CKSEL3 ! on ! on !/
SUT0 ! on ! on !
SUT1 ! off ! off !
CKOUT ! off ! off ! Выход Clk отключен
CKDIV8 ! on ! off ! Делитель на 8 отключен
BODLEVEL0 ! off ! on !\
BODLEVEL1 ! off ! on ! > - 4.3 V
BODLEVEL2 ! off ! off !/
EESAVE ! off ! off !
WDTON ! off ! off ! Watch Dog отключен
SPIEN ! on ! on ! Всегда должен быть '0'
DWEN ! off ! off ! Отладка отключена
RSTDISBL ! off ! off ! Вход /RST как СБРОС
SELFPRGEN ! off ! off !
---------------------------------------
Наверное, я не совсем ясно выразился. Я не перебирал все значения fuses :), изначально выставил именно так, как было указано в комментариях к Вашей прошивке. Просто потом еще немного поэкспериментировал с BODLEVEL, заодно и с CKDIV8 (меня немного смутила логика моего программатора, где указано, что "галочка" - это ноль, так что хотел быть уверен, что это проверено).
Что-то я совсем в растерянности... Посмотрел - как и говорил, линии PA0 - PA7 устанавливаются в 0, и начинают работать только при нажатых клавишах.
Время между миганиями светодиодов на клавиатуре - около 3.5 - 4.0 с, причем не зависит от того, выставлен или нет CKDIV8. На всякий случай, попробовал другую ATMega - никакой разницы в поведении...
Блин !!! После нескольких часов разбирательств, перепайки ВВ55 (показалось, что все-таки проблема там), я обнаружил, что просто не умею пользоваться программатором !!! Просто увидел его (этот программатор) только вчера, и это был мой первый опыт работы с ATMega. Оказалось, что fuses нужно программировать отдельно от основной прошивки. А я считал, что кнопка "Программирование" прошивает сразу все, что я установил (и прошивку, и fuses).
caro был совершенно прав, когда первым делом предположил, что дело в частоте тактового генератора. У меня тоже такие мысли были - много чего на это наталкивало, но я смотрел на fuses и видел, что там все правильно (на самом деле, смотрел не на считанное из микросхемы, а на то, что до этого сам установил - считывать их тоже нужно отдельно).
Так что извините за беспокойство, все работает !
Поздравляю!Цитата:
Сообщение от newold86
Господа, а это только у меня на Радио-86РК не работают курсорные кнопки, функциональные и ESC, или у всех так ?
У меня вместо курсора нажимаются 2,4,6,8.
Клавиатура - Genius KB-220e.
Вроде самая обычная.
Контроллер - Atmega48PA, прошивка - из первого поста orkb_01d.zip.
Фьюзы правильные.
Не припоминаю такого поведения.
Хотя у меня прошита другая прошивка - с правленой русской раскладкой (во вложении)
Единственный недочет на ней был - какая-то клавиша была незамаплена (ПС вроде), остальные все были на правильных местах.
Странно. Влил эту новую прошивку - поведение не изменилось.
Попробую ее на другой железке, например на maximite или на speccy2010, отпишусь о резульататах. Но все же есть подозрение на какую-то кривость моей имплементации на Atmega48..
---------- Post added at 16:09 ---------- Previous post was at 14:57 ----------
С клавой все ок, на остальном железе работает как надо...