Парни, как тут логика работает для переменной butstate? Суть: семисегментный индикатор, кнопка, PD -к индикатору, один пин PB к кнопке. На индикаторе идёт отсчёт от 0 к 9. При нажатии на кнопку- обнуление. Не пойму , как работает логика для переменной butstate. С butcount все ясно.

Комментарии: 21

  1. Maxim

    Программный антидребезг. Если кнопка нажата, то прибавить в счётчик 1. Если счётчик заполнился (в течение пяти проверок кнопка была нажата), считать что дребезг прошел и можно обновить состояние флага butstate

    • Zigimont

      Присваивание butstate единицы что даёт?

      • Anonim

        Покидание while

        • Zigimont

          И переход к ,butstate =0?

          • Anonim

            Вообще для того чтоб делится кодом для этого есть pastebin и аналоги. Ну в конце концов скриншот, а не мыльная фотка на калькулятор с монитора Сверху же человек вполне доступно объяснил этот грязный хак. Это называется программный антридребезг. Но впрочем все это костыли. Я за аппаратные

            • Zigimont

              Антидребезг касается другой переменной, не?

              • Anonim

                ? Весь этот код while это код антидребезга

            • Zigimont

              После того, как butstate =1, по новой идёт выполнение основной функции и установка butstate в ноль, чтобы фиксировать нажатие/не нажатие кнопки? За подсказку про pastebin спасибо, буду пользовать

              • Maxim

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

                • Zigimont

                  А ну да. Функция там segchar(аргумент i)- отсчёт на индикаторе от 0до 9. А реакция на нажатие- i=0, обнуление. Мне важно было понять, зачем переменная butstate устанавливается в 1. Насколько я понял, для выхода из while и запуска основной функции сначала.

                  • Anonim

                    Симистор стал таким… это из реле ssr da40. После паре сотен включений им блока питания на 1квт

                    • Anonim

                      надо было на мосфете делать;)

                      • Anonim

                        Переменку на мосфете?

                        • Anonim

                          почему нет?

                          • Anonim

                            Без развяки коммутировать переменку?

                            • Anonim

                              ну это упращеная схема от балды по-быстрому, но должна работать вполне

                              • Vasil

                                Да любые, по идее. Драйвер вот только бы ещё для этого добра

                                • Anonim

                                  В этом реле на 40 ампер стоял BTA24-1000. На 25 ампер. Китайцы ироды

                    • Vasil

                      Сурово, симисторы поживучей должны быть к перегрузкам

                      • Anonim

                        Китайские? И учитывая что там оптрон стоит и включается он на нуле. Да и у блока питания пусковой ток ограничен... Сам удивлен.

      • Maxim

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

Не нашли ответ?

Вам также может быть интересно