Показано с 1 по 10 из 13

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Новичок
    Регистрация
    14.01.2010
    Сообщений
    9
    Вес репутации
    202

    По умолчанию Re: Клавиатура и дребезг контактов.

    Я думал о прерываниях, но немного в другую сторону, внешнее прерывание по нажатию на кнопку.

    А прерывание по переполнению и читать нажата или нет, это хороший вариант.

    можно делать несколько интервалов

    Код:
    #define  PRESSED_ONE  1
    #define  PRESSED_TWO 2
    ...
    ...
    ...
    if (tp_cnt > PRESSED_ONE && tp_cnt < PRESSED_TWO) {
    /// Кратковременное нажатие
    }
    
    if (tp_cnt > PRESSED_TWO) {
    /// Долгое нажатие
    }
    только сократить временной интервал, не секунду, а 0.25

    Код:
    if (loop_cnt == 25)
    если надо использвать uptime, то
    Код:
    if (loop_cnt == 100) {
     uptime++;
    }
    
    if (loop_cnt == 25) {
    ...
    спасибо всем.

  2. #2
    Пользователь
    Регистрация
    10.03.2009
    Сообщений
    68
    Вес репутации
    225

    По умолчанию Re: Клавиатура и дребезг контактов.

    Цитата Сообщение от nevsky Посмотреть сообщение
    Я думал о прерываниях, но немного в другую сторону, внешнее прерывание по нажатию на кнопку.
    Я тоже по началу так думал.
    Но дребезг контактов будет порождать кучу прерываний.
    Так что работу по прерыванию таймера с клавиатурой - эту идею я вынес ("спёр") очень давно, когда отладчиком шарился в ПЗУ Ямахи MSX2 году эдак в 91-м ))
    TOYOTA CAMRY - NEXUS 7

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •