С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не надо перебирать все возможные значения 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.
Фьюзы правильные.
Не припоминаю такого поведения.
Хотя у меня прошита другая прошивка - с правленой русской раскладкой (во вложении)
Единственный недочет на ней был - какая-то клавиша была незамаплена (ПС вроде), остальные все были на правильных местах.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Странно. Влил эту новую прошивку - поведение не изменилось.
Попробую ее на другой железке, например на maximite или на speccy2010, отпишусь о резульататах. Но все же есть подозрение на какую-то кривость моей имплементации на Atmega48..
---------- Post added at 16:09 ---------- Previous post was at 14:57 ----------
С клавой все ок, на остальном железе работает как надо...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)