Автор Тема: Клавиатура для ношения на руке, идея, (мозговой штурм)  (Прочитано 195343 раз)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
А как же? Конечно будем!  :) ;)

Ну что же, прикрепляю файл прогноза. Естественно, он зашифрован. Ключ выложу через год, либо по твоему явному указанию.  :)

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Цитировать
Ну что же, прикрепляю файл прогноза. Естественно, он зашифрован. Ключ выложу через год, либо по твоему явному указанию.

Боюсь меня подобное сообщение спровоцирует на проявление своих хакерских способностей и наклонностей, и подбор пароля ключа к архиву rar. Этот формат естественно надежнее чем ZIP но полагаю что и у него есть тайные лазейки по дешифровке и декомпрессии.

 :D

Длина пароля-ключа надеюсь больше 8 символов? Если да то ломать скорее всего не буду, слишком маловероятно это методом BRUTEFORCE. :)))
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Цитировать
Ну что же, прикрепляю файл прогноза. Естественно, он зашифрован. Ключ выложу через год, либо по твоему явному указанию.
Длина пароля-ключа надеюсь больше 8 символов? Если да то ломать скорее всего не буду, слишком маловероятно это методом BRUTEFORCE. :)))

Безусловно, длина ключа за 50 символов. Хотел сделать 256, но честно говоря лень набирать было.  :)

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Цитировать
Безусловно, длина ключа за 50 символов. Хотел сделать 256, но честно говоря лень набирать было.  :)

А я уже начал пересматривать классический фильм "Хакеры" с Анджелиной Джоли (её ЧСХ в титрах назвали Ангелиной), добрался до эпизода с цитатой "манифеста хакера" но дальше уже не интересно. Пароль "god" там назвали в первой четверти киноленты. :)))
Это видимо мастерсуперпассворд (такой же как "sex", "love"  и "live"). :))))
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Цитировать
Безусловно, длина ключа за 50 символов. Хотел сделать 256, но честно говоря лень набирать было.  :)

А я уже начал пересматривать классический фильм "Хакеры" с Анджелиной Джоли (её ЧСХ в титрах назвали Ангелиной), добрался до эпизода с цитатой "манифеста хакера" но дальше уже не интересно. Пароль "god" там назвали в первой четверти киноленты. :)))
Это видимо мастерсуперпассворд (такой же как "sex", "love"  и "live"). :))))

Если читал С.Лукьяненко, "Лабиринт отражений" и "Фальшивые зеркала", то может быть помнишь один из паролей оттуда - "Сорок восемь обезьян в ж*пу сунули банан"? Так у меня посложней будет, да и не такой связный. Но это всё не в тему, если ты будешь дальше муссировать этот вопрос и отвлекаться на фильмы, то сбудется пункт 6 моего прогноза!  :)

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Цитировать
Безусловно, длина ключа за 50 символов. Хотел сделать 256, но честно говоря лень набирать было.  :)

А я уже начал пересматривать классический фильм "Хакеры" с Анджелиной Джоли (её ЧСХ в титрах назвали Ангелиной), добрался до эпизода с цитатой "манифеста хакера" но дальше уже не интересно. Пароль "god" там назвали в первой четверти киноленты. :)))
Это видимо мастерсуперпассворд (такой же как "sex", "love"  и "live"). :))))

Если читал С.Лукьяненко, "Лабиринт отражений" и "Фальшивые зеркала", то может быть помнишь один из паролей оттуда - "Сорок восемь обезьян в ж*пу сунули банан"? Так у меня посложней будет, да и не такой связный. Но это всё не в тему, если ты будешь дальше муссировать этот вопрос и отвлекаться на фильмы, то сбудется пункт 6 моего прогноза!  :)

А информация по вот https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%80%D1%82%D0%B0_%D0%9A%D0%B0%D1%80%D0%BD%D0%BE пригодится при разработке цифровой логики клавиатурной матрицы? ;)
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
А информация по вот https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%80%D1%82%D0%B0_%D0%9A%D0%B0%D1%80%D0%BD%D0%BE пригодится при разработке цифровой логики клавиатурной матрицы? ;)

Господи! Да зачем это? Я ведь уже писáл, что и схемка примитивная (с микропроцессором) и программка простенькая, и никаких упрощений Булевых функций там не требуется! И никаких гонок фронтов там принципиально возникнуть не может. А картами Карно мы пользовались как раз тогда, когда делали устройство диагностики системы наведения, про которое я писáл ранее, когда Заказчик запретил использовать микропроцессоры!

Или ты всё же решил делать всё это на жёсткой логике? Ну, ну... Хотел бы я знать, как ты будешь на жёсткой логике реализовывать формирование скан-кодов нажатия/отжатия клавиш.

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Или ты всё же решил делать всё это на жёсткой логике? Ну, ну... Хотел бы я знать, как ты будешь на жёсткой логике реализовывать формирование скан-кодов нажатия/отжатия клавиш.

Не понимаю что такое "жёсткая" логика. Знаю что такое формальная логика (философия), знаю что такое бинарная (двоичная) логика. В любом случае когда происходит нажатие клавиши (нужно также учитывать дребезг контактов и защиту от него), то скан-код грубо говоря по шине данных отправляется в CPU/АЛУ (предположим это будет специальная PICка), и уже оттуда через соответствующие буфера ввода вывода на шину ввода вывода PS/2/USB/miniUSB ну итд. в общем через контроллер клавиатуры через соответствующий драйвер Операционная Система мобильного ПК забирает нужный SCANCODE который как минимум должен быть совместим с таблицей ASCII (хотя бы по 6 битам но лучше по 16 впрочем ХЗ).
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Хотелось бы попросить совета у знающих радио-электронщиков, на какой элементной базе создавать прототип? И какие есть пути по оптимизации и улучшению схемы обслуживающей клавиатурную матрицу (4x7)?

Элементная база может быть практически любой. Поскольку по-любому нужен процессор, то это может быть Atmel, PIC, или, например MSP430. Хотя последнее является явно избыточным. Главное, чтобы количество портов было достаточным: 4+7 (сканирование клавиатуры) + 2 (данные и такты интерфейса PS2), итого 13. Это как минимум. Но лучше иметь ещё как минимум три порта для указания светодиодами регистра. Для первого случая можно использовать например простенький PIC16F84A, а для второго - что-нибудь типа PIC16F882. Можно использовать и PIC18, которые заточены под язык С.

Только нужно иметь ввиду, что для использования любого микроконтроллера нужно иметь:
1. Средства разработки.
2. Средства программирования (записи программы в микроконтроллер).
3. Средства отладки.

В принципе, всё это может быть совмещено в одной среде (например, MPLAB для PIC-контроллеров), но по-любому нужно иметь ещё и соответствующие аппаратные средства.
Собственно схемка весьма примитивна - микропроцессор, несколько резисторов, три (или больше) светодиода. Это всё.

Не понимаю зачем всё так усложнять? Как в целом должна быть устроена клавиатура? Это матрица клавиш 4x7 с соответствующими наклейками на каждой клавише. Пара батареек/аккумуляторов типоразмера AAA (хотя питание можно подводить и по шнуру). Чип-контроллер, или относительно простая двух четырёх микросхемах. Клавиатурная матрица 4x7 это всего лишь 4 байта в которых каждый бит определяет нажата клавиша или нет. Соответственно значения этих байтов можно брать по адресам адресуемым всего двумя битами. То есть на клавиатурные контакты при их замыкании поступает логическая единица, в противном случае нуль. CPU производит циклический опрос битов состояния клавиатуры, и в зависимости от режима хранимого в триггерном регистре, выдает Скан-код на шину вывода [ps/2, USB, miniUSB] (ввода в ПК/КПК/МобЭВМ).
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Или ты всё же решил делать всё это на жёсткой логике? Ну, ну... Хотел бы я знать, как ты будешь на жёсткой логике реализовывать формирование скан-кодов нажатия/отжатия клавиш.

Не понимаю что такое "жёсткая" логика.

Тяжелый случай... Жёсткая логика - это логика, выполненная на логических микросхемах, т.е. без использования микропроцессора, обладающего памятью и исполняющего некую программу. И "перепрограммировать" её можно лишь с помощью паяльника, изменив её схему. В отличие от этого, "мягкая" логика, - это логика, которая исполняется программно, на каком-либо процессоре. В этом случае для изменения логики работы устройства схему его изменять не нужно (не нужен паяльник), достаточно изменить программу.

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Хотелось бы попросить совета у знающих радио-электронщиков, на какой элементной базе создавать прототип? И какие есть пути по оптимизации и улучшению схемы обслуживающей клавиатурную матрицу (4x7)?

Элементная база может быть практически любой. Поскольку по-любому нужен процессор, то это может быть Atmel, PIC, или, например MSP430. Хотя последнее является явно избыточным. Главное, чтобы количество портов было достаточным: 4+7 (сканирование клавиатуры) + 2 (данные и такты интерфейса PS2), итого 13. Это как минимум. Но лучше иметь ещё как минимум три порта для указания светодиодами регистра. Для первого случая можно использовать например простенький PIC16F84A, а для второго - что-нибудь типа PIC16F882. Можно использовать и PIC18, которые заточены под язык С.

Только нужно иметь ввиду, что для использования любого микроконтроллера нужно иметь:
1. Средства разработки.
2. Средства программирования (записи программы в микроконтроллер).
3. Средства отладки.

В принципе, всё это может быть совмещено в одной среде (например, MPLAB для PIC-контроллеров), но по-любому нужно иметь ещё и соответствующие аппаратные средства.
Собственно схемка весьма примитивна - микропроцессор, несколько резисторов, три (или больше) светодиода. Это всё.

Не понимаю зачем всё так усложнять?

Что значит усложнять? Схемка твоей клавиатуры примитивна до невозможности! Хоть я и говорил, что ноги за тебя переставлять не буду, тем не менее, всё же шажок (переставлю одну ногу) всё же сделаю! Вот схема клавиатуры на микропроцессоре:



Чтобы её изваять, понадобилось порядка часа, с отвлечениями на чай и т.д. Сразу предупреждаю, что в этой схеме нет разъёма для программирования и отладки микропроцессора. Поскольку при массовом производстве выгоднее программировать микропроцессоры отдельно.Если надумаешь идти по этому пути, при необходимости добавишь сам. Краткое описание схемы: питание подаётся от компьютера, через разъём клавиатуры PS2. Дроссель L1 и конденсаторы С3, С4, С5 обеспечивают подавление помех, могущих проникать по кабелю. Дроссель, электролит и один из конденсаторов 0,1 мкФ устанавливаются у места входа кабеля в клавиатуру. Второй конденсатор 0,1 мкФ - максимально близко к выводам питания микропроцессора. Порт RB микропроцессора настраивается на ввод и включаются (программно) внутренние резисторы, подтягивающие выводы порта к питанию. Порт RA настраивается на вывод, исходное состояние всех линий - высокое. Сканирование клавиатуры осуществляется следующим образом: на вывод RA0 подаётся низкий уровень и через небольшую задержку (устранение переходных процессов) считывается состояние порта RB. Затем этот нолик сдвигается в следующий разряд порта и повторяется снова считывание порта RB. И так 4 раза - линии RA0 - RA3. Таким образом определяется нажатая клавиша (клавиши). Светодиоды D1 ... D4 предназначены для индикации состояния клавиатуры. Дальнейшую логику работы, я думаю, ты опишешь сам. Поэтому жду от тебя блок-схемы программы, причём укрупнённой, например, тот процесс сканирования, что я описал, будет выглядеть одним прямоугольником-процедурой. В дальнейшем каждую такую процедуру можно будет проработать отдельно. Начиная уже с разработки блок-схемы, следует иметь ввиду, что глубина стека микропроцессора ограничена, соответственно ограничена вложенность процедур.

Теперь что касается, как ты пишешь сложностей. Тебе нужно создать программу для микроконтроллера, для предложенного типа (хотя ты можешь выбрать любой другой тип микроконтроллера и даже другой фирмы), нужна среда разработки. Для PIC контроллеров фирма Microchip бесплатно распространяет среду разработки MPLAB. Эта среда позволяет создавать программы, получать загружаемые модули, а при наличии программатора или внутрисхемного отладчика записывать программу в микроконтроллер и отлаживать её в готовом изделии. Кроме того, существует возможность отладки встроенным симулятором работы микроконтроллера, когда наличие изделия и даже собственно микроконтроллера не является необходимым. Но там есть определённые ограничения.

Так что дерзай, желаю успехов!  :)

P.S. Забыл сказать - у светодиодов указан лишь тип, без указания цвета. Назначение каждого и его цвет определяй сам. Кстати, можно добавить ещё и маленький динамик, что-нибудь типа HCM1206 или аналогичный. Тогда можно указывать звуком регистр клавиатуры.
« Последнее редактирование: Февраля 14, 2017, 10:50:34 от Новичёк »

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
К сожалению, при спешке вкралась ошибка - забыл завести на процессор сигналы с PS2. Вот исправленная схема:



P.S. Datasheet на микропроцессор PIC16F873 здесь: Microchip PIC16F87XA Data Sheet.
« Последнее редактирование: Февраля 14, 2017, 12:52:32 от Новичёк »

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Отлично! Сегодня был занят, завтра буду разбираться и думать над проектом. Идей много, буду двигаться в направлении оптимизации и повышения эффективности электронной схемы, блок-схему программы подготовлю...
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Отлично! Сегодня был занят, завтра буду разбираться и думать над проектом. Идей много, буду двигаться в направлении оптимизации и повышения эффективности электронной схемы

 :o А что там оптимизировать? Там и так минимальное количество деталей. Ну, разве что разводку по портам изменить с целью упрощения печатки, так это не принципиально. И какую эффективность ты собираешься повышать? Единственное, что там можно оптимизировать, так это использовать кварцевый резонатор на меньшую частоту - это снизит энергопотребление. Но опять же, слишком сильно частоту снижать нельзя, иначе будет трудно обеспечит соответствующие временные диаграммы интерфейса PS2.

блок-схему программы подготовлю...

А вот на это стоит обратить первоочередное внимание!

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
:o А что там оптимизировать? Там и так минимальное количество деталей. Ну, разве что разводку по портам изменить с целью упрощения печатки, так это не принципиально. И какую эффективность ты собираешься повышать? Единственное, что там можно оптимизировать, так это использовать кварцевый резонатор на меньшую частоту - это снизит энергопотребление. Но опять же, слишком сильно частоту снижать нельзя, иначе будет трудно обеспечит соответствующие временные диаграммы интерфейса PS2.

Ну в этой конкретной схеме оптимизировать нечего. Я вообще имел ввиду. Здесь же оптимизировать нужно микропрограмму для PIC. Я бегло проанализировал схему, в целом понял как она работает, распечатал на принтере, но пока серьезно этим не занимался. Много разных текущих проблем помешали сфокусировать внимание на этой задаче. Но Я ОБЯЗАТЕЛЬНО изучу методы программирования и прошивки PIC и РАЗРАБОТАЮ программу опроса матрицы клавиш. (Видимо это нужно делать в эмуляции на компьютере, а когда то давно машинные коды писались вообще ручкой на бумаге). Эта работа займет у меня много времени так как, образно выражаясь, моё собственное CPU в мозгах перегружено, кэш памяти не хватает и постоянно идут прерывания. Но если повезет к концу Марта справлюсь. Результаты текущих этапов работы буду выкладывать сюда.
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Здесь же оптимизировать нужно микропрограмму для PIC.

Прежде, чем "оптимизировать" программу для PIC, её нужно сначала создать!

Но Я ОБЯЗАТЕЛЬНО изучу методы программирования и прошивки PIC и РАЗРАБОТАЮ программу опроса матрицы клавиш.

Конечно, это нужно сделать обязательно, иначе разработка кончится ни чем. :)

(Видимо это нужно делать в эмуляции на компьютере, а когда то давно машинные коды писались вообще ручкой на бумаге).

Вообще-то, я не помню, чтобы когда-то программировали в машинных кодах, за исключением того случая, когда программу-загрузчик для машин серии СМ вводили переключателями с пульта. А программирование на ассемблере - этого было достаточно, да и сейчас иногда хватает, особенно критические по быстродействию участки программы, поскольку даже Си в этом плане уступает.
Ностальгируя - перебирая старые тетради, обнаружил там написанные именно ручкой части программы для АСУ автопарка, которую делали более 30 лет назад. Правда на ассемблере (то, что делал я) там были написаны лишь процедуры, которые непосредственно работали с железом, обеспечивая связь между оборудованием диспетчерской и  автобусом, находящимся на остановке, а вся обработка и интерфейс с диспетчером были сделаны на Фортране. Язык фортран был выбран лишь в силу того, что он обеспечивал простой интерфейс работы с модулями на ассемблере, т.е. позволял включать ассемблерные вставки в тело программы. Целевая машина - "Электроника-60" (LSI-11). Вся программа, включая операционную систему (также возможность Фортрана) находилась в ПЗУ.

Эта работа займет у меня много времени

Не, ну я же писáл, что разработка и отладка программы - максимум 4 дня! Поскольку программа весьма примитивна. Другое дело, что если ты не работал с PIC'ами, то нужно освоить его устройство, систему команд и среду программирования MPLAB. Хотя, как я уже говорил, можно программировать на Си, соответствующие компиляторы существуют давно. Причём для PIC18 компилятор Си встроен в среду MPLAB. Начни, например, отсюда: "Программирование микроконтроллеров PIC". Или отсюда:  "PIC микроконтроллеры: быстрый старт с нуля". Что касается Си для PIC, то можно начать отсюда: "Программирование на Си для PIC". Кстати, фраза оттуда:
Цитировать
Протеус изучается за 30 мин

Это о схемотехнике, программировании и отладке.

Но вообще говоря, начинать следует не с этого! Начинать нужно с блок-схемы программы, о чём я уже писáл. Сначала укрупнённой, а затем более подробной, с тщательной проработкой всех процедур. Вот тогда и никакой оптимизации не потребуется!  ;) Ведь программирование без проработки блок-схем, - это как стрельба по-македонски: эффектно, но не эффективно!

так как, образно выражаясь, моё собственное CPU в мозгах перегружено, кэш памяти не хватает и постоянно идут прерывания.

Мой знакомый программист, с которым когда-то работали, говорил в таких случаях: "смени проц и добавь памяти!"  :D

Но если повезет к концу Марта справлюсь. Результаты текущих этапов работы буду выкладывать сюда.

Ждем-с...

P.S. Рекомендую следующий порядок работ:
1. Разработка блок-схемы, укрупнённой, а затем и подробной.
2. Освоение среды MPLAB, с одновременным освоением PIC.
3. Собственно написание и отладка программы.

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Блок схему я конечно подготовлю, пока же наполовину сделал таблицу Сканкодов для КЛАВИАТУРЫ.

В таблице вероятно имеются некоторые неточности и наложения кодов (коллизии). Я её немного доработаю и дополню в процессе работы над клавиатурой.

Кроме того к 28 символьной матрице клавиатуры похоже нужно добавить одну клавишу под названием "Caps Lock" для ввода заглавных букв. Хотя в принципе можно задействовать этот режим с помощью клавиши Mode но на неё и так много уже навешано (5 режимов).

По идее клавиша Mode должна циклически изменять (8 битный) регистр MK(ModeKeyBoard),  от 0 до 4 и при достижении 5 снова нуль.



Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Блок схему я конечно подготовлю, пока же наполовину сделал таблицу Сканкодов для КЛАВИАТУРЫ.

 :o А зачем её вообще делать? Если ты хочешь, чтобы твоя клавиатура была совместимой со стандартной клавиатурой, то и передаваемые ею скан-коды также должны быть стандартными! Т.е. такими, как указано здесь: Скан-коды.

И вообще, ты не с того начал. Скан-коды - это по сути дела мелочи, всего лишь одна из процедур будущей программы. А как можно её разрабатывать, если у тебя даже блок-схемы программы нет? Ну ведь ты же ставишь телегу впереди лошади!

Оффлайн digitalman

  • DiG_Man
  • Full
  • ****
  • Сообщений: 1794
  • Репутация: +0/-0
  • DigitalMan[hi is not Cristopher Lambert]
    • http://vkontakte.ru/digital_man
    • Личное сообщение (Оффлайн)
Блок схему я конечно подготовлю, пока же наполовину сделал таблицу Сканкодов для КЛАВИАТУРЫ.

 :o А зачем её вообще делать? Если ты хочешь, чтобы твоя клавиатура была совместимой со стандартной клавиатурой, то и передаваемые ею скан-коды также должны быть стандартными! Т.е. такими, как указано здесь: Скан-коды.

И вообще, ты не с того начал. Скан-коды - это по сути дела мелочи, всего лишь одна из процедур будущей программы. А как можно её разрабатывать, если у тебя даже блок-схемы программы нет? Ну ведь ты же ставишь телегу впереди лошади!

Я конечно, согласен, что забегаю вперед, но с другой стороны, когда возникнет необходимость в подобной таблице она будет под рукой! И если продолжать аналогию с лошадьми и телегами, то есть ведь отличная русская пословица: "Готовь сани - летом, а телегу - зимой".
Глобальный Информационный Сервис: Вся информация принадлежит нам...
[DigitalMan/CapRiuS:A1/Цифровой Человек]
(htap://crs)

Оффлайн Новичёк

  • Administrator
  • Hero
  • *****
  • Сообщений: 15347
  • Репутация: +28/-108
    • Личное сообщение (Оффлайн)
Блок схему я конечно подготовлю, пока же наполовину сделал таблицу Сканкодов для КЛАВИАТУРЫ.

 :o А зачем её вообще делать? Если ты хочешь, чтобы твоя клавиатура была совместимой со стандартной клавиатурой, то и передаваемые ею скан-коды также должны быть стандартными! Т.е. такими, как указано здесь: Скан-коды.

И вообще, ты не с того начал. Скан-коды - это по сути дела мелочи, всего лишь одна из процедур будущей программы. А как можно её разрабатывать, если у тебя даже блок-схемы программы нет? Ну ведь ты же ставишь телегу впереди лошади!

Я конечно, согласен, что забегаю вперед, но с другой стороны, когда возникнет необходимость в подобной таблице она будет под рукой!

Ещё раз: зачем нужна эта таблица? Так, побаловаться и время потерять?  ;) Ведь программа микроконтроллера должна состоять всего лишь из трёх процедур:
1. Сканирование клавиатуры - получение кода нажатой/отжатой клавиши.
2. Перекодировка полученного кода в стандартный скан-код с учётом выбранного функционала клавиатуры.
3. Временная задержка - защита от дребезга.

Ну, и где там разрабатываемые тобой скан-коды?  :)

 

Последние сообщения на форуме: