Здравствуйте.Вот код.А проблема в том что програма не дожидаясь выполнения условия почему-то начинает выводить числа на дисплей и в последовательный порт в размере integer при этом у меня меняется напряжение скачет от 0 до 5 вольт на выводе прерывания МК.Провод от монетника я отсоединил реакция та же программа виснет при постоянно разных суммах.Проследить зависимости не получается и ошибок в коде не вижу.Сижу туплю. Причем после удаления кода для ЖК МК и понетник дружат прекрасно и в порт выводится корректная сумма импульсов
Тут вижу одну проблему явную и одну - не очень. Первая - нет атомарного чтения counter (см. ATOMIC_BLOCK) , вторая - скорее всего нет подтяжки на пине, его и болтает туда-сюда.
Ну, и использование Serial.println() в обработчике прерывания - не лучшая идея.
Во-первых, Сериал в прерывании использовать стоит только в том случае, если четко понимаете, что делать. Это явно не про вас. Для новичков существует правило - "Сериал в прерывании не работает"
Во-вторых, совершенно неясно, зачем при каждом входе в loop заново иннициализировать дисплей
пробуй убрать \ закомментировать строки относящиеся к дисплею. выводи в сериал... делал поделку на энкодере, который работал на том же прерывании с обычным дисплеем 1602 - все работало.потом решил поставить i2C начались похожие проблемы. не дружит библиотека с прерываниями наверно.
сопротивление подтяжки ставь 1 к. там открытый коллектор и короткий импульс. все должно отработать быстро с максимально не затянутыми фронтами.
Условный переход в лупе мне нужно запихнуть в atomic block restorate?Одно я понял что мне нужно сохранить состояние программы что бы она случайно не прерывалась
Здравствуйте.Вот код.А проблема в том что програма не дожидаясь выполнения условия почему-то начинает выводить числа на дисплей и в последовательный порт в размере integer при этом у меня меняется напряжение скачет от 0 до 5 вольт на выводе прерывания МК.Провод от монетника я отсоединил реакция та же программа виснет при постоянно разных суммах.Проследить зависимости не получается и ошибок в коде не вижу.Сижу туплю. Причем после удаления кода для ЖК МК и понетник дружат прекрасно и в порт выводится корректная сумма импульсов
Код вставлен неправильно, как минимум.
Простите
Уотт энто миня пабиспакоила, причёмвсирйоз, поясни, чо да как ???
После подачи питания на МК.Обнуляю и начинаю счет.Как бы после включения все заного
Тут вижу одну проблему явную и одну - не очень. Первая - нет атомарного чтения counter (см. ATOMIC_BLOCK) , вторая - скорее всего нет подтяжки на пине, его и болтает туда-сюда.
Ну, и использование Serial.println() в обработчике прерывания - не лучшая идея.
странный код.
Во-первых, Сериал в прерывании использовать стоит только в том случае, если четко понимаете, что делать. Это явно не про вас. Для новичков существует правило - "Сериал в прерывании не работает"
Во-вторых, совершенно неясно, зачем при каждом входе в loop заново иннициализировать дисплей
Получается пин у меня подтянут к +5 вольт резистором 5.6 килоом
Код с амперки скопипстил и чутка видоизменил засунул библиотеку и код для ЖК
Слишком много копипасты. В лупе достаточно одного позиционирования и, затем, вывода каунтера.
пробуй убрать \ закомментировать строки относящиеся к дисплею. выводи в сериал... делал поделку на энкодере, который работал на том же прерывании с обычным дисплеем 1602 - все работало.потом решил поставить i2C начались похожие проблемы. не дружит библиотека с прерываниями наверно.
сопротивление подтяжки ставь 1 к. там открытый коллектор и короткий импульс. все должно отработать быстро с максимально не затянутыми фронтами.
То есть библиотека wire конфликтует с прерываниями.так как отключаю код программы же и в сериал выводитятся приличные значения
Слишком смелое заявление при таком исходнике...
Это не "библиотека конфликтует", а одна часть вашего бестолкового кода с другой. Учитесь программировать
Спасибо за подсказку.буду анализировать.
Условный переход в лупе мне нужно запихнуть в atomic block restorate?Одно я понял что мне нужно сохранить состояние программы что бы она случайно не прерывалась
Провод от монетника я отсоединил реакция та же
пин у меня подтянут к +5 вольт резистором 5.6 килоом
Сдается мне, что при подобных безобразиях на входе прерывания обсуждать код - занятие совершенно бессмысленное.