Sim800l и ардуино перестает принимать и отправлять смс

Конечно можно. Три недели (примерно) это 2 147 483 648 миллисекунд – т.е. максимальное число типа long, который Вы зачем-то используете при работе с millis.

Зачем, кстати? Чтобы по граблям оттоптаться? Запомните, никогда (от слова совсем никогда, ну, вот, совсем-совсем!!!) не смешивайте в одном выражении знаковые и беззнаковые величины. Если уж millis имеет тип unsigned long, так и переменные для работы с нею используйте типа unsigned long. См. подробности и примеры.

Далее, если у Вас нет цели добавить в свою жизнь веселья и драйва, никогда не определяйте конец интервала сложением с millis! Используйте только вычитание. Вычитайте из текущего millis стартовое (ранее запомненное) и сравнивайте с длительность интервала. Только так! Это должно быть на подкорке, просто руки должны сами писать только так и никогда так, как Вы. См. подробности и примеры.

2 лайка