STLED316S использовал кто?

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Nxavier, 24 сен 2016.

Метки:
  1. Nxavier

    Nxavier Нуб

    Привет!

    Планирую использовать для одного проекта драйвер STLED316S. Т.к. буду использовать 7-сегментник, светодиоды и кнопки, то вариант драйвера для меня идеальный. В целом сейчас всё работает, но не могу понять одну вещь. Из даташита:

    This key buffer compares the data with the previous key status. If any changes are seen in
    the buffer values, then the IRQ_N is asserted. The IRQ_N signal is active low (level). This IRQ_N signal will be cleared at the end of reading the key buffer (end of byte transfer). The key buffer must be completely read before the IRQ_N is cleared.

    Т.е., как я понял, сигнал на прерывание должен генерироваться при любом изменении состояния кнопок. Так вот нажатия кнопок отслеживаются отлично, а вот отпускание кнопки отслеживаться никак не хочет. Например:
    -нажимаю первую кнопку - сигнал есть;
    -удерживая первую кнопку нажимаю вторую - сигнал есть;
    -отпускаю одну из кнопок или сразу обе - никакой реакции.

    Буфер кнопок из STLED при этом считываю полностью каждый раз для сброса IRQ_N как и указано в даташите.

    Может кто имел дело с этим драйвером и может подсказать, это я что-то не понимаю или этот драйвер просто не умеет отслеживать отпускания кнопок (баг/фича)?
     
  2. Tomasina

    Tomasina Сушитель лампочек Команда форума

    Явно же написано - срабатывание только по переходу из HIGH в LOW, т.е. реакция только на нажатие кнопки.
     
  3. Nxavier

    Nxavier Нуб

    Там подразумевается, что сам сигнал (пин) IRQ_N становится LOW. Его и по схеме надо притянуть к HIGH резистором. А срабатывание должно бы происходить при любом изменении в буфере:

    но не происходит =(