Как у знать какие кнопки нажаты на момент запуска мк?

Тема в разделе "ESP8266, ESP32", создана пользователем DayGaik, 17 апр 2021.

  1. DayGaik

    DayGaik Гик

    Плата DOIT ESP32 Devkit V1.
    Сделал схему питания. На устройстве две кнопки - обе его включают, а затем эти кнопки можно использовать в работе.
    Но вот незадача: с момента включения до начала работы моего кода проходит почти секунда. За это время пользователь (я) уже отпускает кнопку, а мне бы хотелось узнать, всё же, с какой кнопки включили МК.
    Вопрос: как этого можно добиться?
    Например, ускорить загрузку МК,
    или в самом начале этой загрузки считать состояние кнопок и сохранить куда-нибудь,
    или может аппаратно что-то придумать?
    Есть идеи?
    Снимок экрана_2021-04-16_23-29-55.png
     
  2. parovoZZ

    parovoZZ Гуру

    Ничо низя. Грузится бинарник от производителя.
     
  3. DayGaik

    DayGaik Гик

    Исходники же вроде есть.
     
  4. parovoZZ

    parovoZZ Гуру

    Исходника нет. Предоставляется после подписания NDA.
     
  5. DayGaik

    DayGaik Гик

  6. parovoZZ

    parovoZZ Гуру

    Это загрузчик. Он грузит микропрошивку (бинарник) настройки радиосекции, а затем пользовательскую прошивку.
     
  7. DayGaik

    DayGaik Гик

    А большую часть времени загрузки занимает тот, что от производителя?
     
  8. akl

    akl Гуру

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

    но даже 2 дополнительных ноги не нужно - достаточно одной - методом исключения можно понять что если было включено не этой кнопкой - значит другой.
     
    Последнее редактирование: 17 апр 2021
  9. DayGaik

    DayGaik Гик

    С конденсатором получается как-то сложно. Про выключении они будет разряжаться непонятно чем. И не понятно чес заряжаться. Он одной ногой в земле, а другой через диод и кнопку будет подключаться тоже к земле.
    Ноги у меня Input-only.

    А вот это интересно. В крайнем случае можно подключить маленькую ATTiny без бутлоадера, которая "подержит ноги" пару секунд и уснет. Плюс в том, что она может работать вообще без обвязки.
     
  10. DayGaik

    DayGaik Гик

    Так и сделаю. т.к. найти компактный rs-триггер (2 шт. в одном корпусе) не получается. А ATTiny у меня есть и есть инструкции как ее легко прошить.
     
  11. akl

    akl Гуру

    да, с конденсатором тупость получается - чтобы оно работало надо чтобы он был уже заряжен до того как было подано питание, а это уже без извращений не получится, да и вообще не получится, т.к. через ногу с него пойдет на выключенную микросхему и прочий бред. вот если бы кнопки не на землю замыкались, а на плюс - тогда да.
     
  12. DayGaik

    DayGaik Гик

    В любом случае - спасибо! Я вник в триггеры - что-то новое открыл для себя.
    И простите за безграмотность.

    И вам спасибо. Не дали пойти по сложному пути, когда он еще и не имел смысла.
     
  13. Vovka

    Vovka Гик

    кому - как: для одного проще деталей навешать, другому - добавить пару команд в загрузчик...
     
  14. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Нет ничего проще. В одной микре - два триггера.
     

    Вложения:

    • RS_trigger.gif
      RS_trigger.gif
      Размер файла:
      244,4 КБ
      Просмотров:
      136
  15. parovoZZ

    parovoZZ Гуру

    При одновремнном нажатии на обе кнопки что будет? Правильно - фигня.

    парой команд там не отделаешься...
     
  16. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Не фигня, а - ОПЫТ !!! ТС же написал, что ВНИК в триггеры, в новое для себя. А что будет при одновременном нажатии ? Да ничего страшного - оба выхода будут "наверху". Важнее - какую кнопку позже отпустят., на том он и зафиксируется.
     
  17. parovoZZ

    parovoZZ Гуру

    Это противоречит ТЗ.
     
  18. a1000

    a1000 Гуру

    Ну так это и есть классический RS тригер.
    Такая комбинация является запрещённой.
     
  19. parovoZZ

    parovoZZ Гуру

    Есть приоритетный триггер без запрещённых комбинаций.
     
    a1000 нравится это.
  20. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Ну и хрен с ним, с запретом. Нажимал и буду нажимать.
    ПС. Никто не запрещал. Такие жаргоно-образные выражения приносят вред. Приклеиваются липучкой на мозги, не объясняя смысл. А смысл - такая комбинация порождает непредсказуемое состояние после нее. Потому что абсолютной одновременности (начала/окончания событий) в природе не существует.
     
    Последнее редактирование: 20 апр 2021