Очистить скеч от мусора:)
- Войдите на сайт для отправки комментариев
Решил написать, может кому пригодится. Потратил много времени на одну из программ. Симптомы были следующими. Работает устройство 5-10 минут всё нормально. Идет постоянный опрос по СОМ порту кнопок внешнего терминала. Потом что то происходит с Atmega328 , и начинает не читать кнопки. При этом запросы по порту идут правильные, ответы от терминала тоже правильные. Вообщем и алгоритмы менял и обработку, ни чего не помогало. Потом думаю, дай попробую скопировать скетч в обычный блокнот (через стандартный виндовый буфер обмена), оттуда опять скопировать в буфер и вставить в IDE как новый скетч. И всё, как бабка пошептала. Всё замечательно, круглые сутки устройство работает как часики. Подозреваю, в тексте скетча, каким то образом, были изначально скрытые не печатаемые символы, которые компилятор видел, и что то в код добавлял. А после того как блокнот пропустил через себя текст скетча, остались только текстовые ASCI символы. Вот так вот решилась проблема. Всем удачи.
Мне отсыпь, я тож курну на выходных эту чудо-бабуйню...
В коде был вирус, а во время его копирования в буфер обмена антивирус его удалил.
Да, да. Скетч написан невидимыми чернилами. Если бы всё так было просто - уже давно писатели нашлись бы.
Экие Вы материалисты тут все. "Есть много на свете, брат Горацио ..."
обычно компилятор орёт на нечитаемые символы, неужто пропустил?
обычно компилятор орёт на нечитаемые символы, неужто пропустил?
Так там корректный код был написан невидимыми символами, просто роняющий программу периодически.
Экие Вы материалисты тут все. "Есть много на свете, брат Горацио ..."
Это да. Иначе так мы и к космосу придём, высшему разуму и пр.
Да, можно придумывать что угодно, но вот так вот видно совпало. Наверно есть какие то подводные камни. И компилятор не ругался и программа на 10 минут всё работало. Сам удивляюсь. При этом, коллеги смотрели код, тоже не находили ошибок. Пропустить через блокнот, это уже был жест отчаяния. И как видите, сработало. Чудеса :))
rkit... А что так можно было ©.....:)))
Брехня.
Да, можно придумывать что угодно, но вот так вот видно совпало. Наверно есть какие то подводные камни. И компилятор не ругался и программа на 10 минут всё работало. Сам удивляюсь. При этом, коллеги смотрели код, тоже не находили ошибок. Пропустить через блокнот, это уже был жест отчаяния. И как видите, сработало. Чудеса :))
А тут нужно смотреть исходный текст и, возможно, тестировать самому. Чудес не бывает.)
Да, можно придумывать что угодно, но вот так вот видно совпало. Наверно есть какие то подводные камни. И компилятор не ругался и программа на 10 минут всё работало. Сам удивляюсь. При этом, коллеги смотрели код, тоже не находили ошибок. Пропустить через блокнот, это уже был жест отчаяния. И как видите, сработало. Чудеса :))
А тут нужно смотреть исходный текст и, возможно, тестировать самому. Чудес не бывает.)
Например, я недавно ошибся в одной цифре банковского счета, да так удачно, что контрольный разряд совпал с правильным и все программные проверялки платежку пропустили.
Я уже где то приводил случай из своей практики. Повторюсь.
Пишу, тестирую обмен с nrf24l01. В один прекрасный момент перестаёт работать. Сброс не помогает. Проверяю логику - всё красиво. Начинаю вспоминать что менял. Потихоньку откатываюсь, проверяя каждый шаг. Дохожу до того что осталась добавлена всего одна примитивная строка, которая не может ни на что влиять... Убираю - работает. Добавляю - нет! Выключаю-включаю питание - работает. ППЦ! Вот такие они чужие библиотеки! А всё просто. Платка трансивера сброса не имеет. Библиотека же инициализирует НЕ ВСЕ регистры, т.е. используются значения по умолчанию. Тогда как может влиять одна "ниначтоневлияющая" строка? Программатор, как и трансивер используют один и тот же интерфейс - SPI. И при записи программы, портит и регистры трансивера. Пол дня коту под хвост.((
Пол дня коту под хвост.((
есть дефект бумаги - тёмное включение, которое выглядит, как точка, напечатанная принтером. Сколько раз я на неё смотрел...
судьба )))
Пол дня коту под хвост.((
Ужос! Ну это уже проблемы интерфейса отладки.)