ARDUINO Зависание Arduino Mega 2560

IliyaBoiko

✩✩✩✩✩✩✩
14 Ноя 2019
3
0
Добрый день. Зависает Arduino Mega 2560 при работе с GSM модемом A6 + MQTT. Зависание прыгает от 2 часов работы до 12. Система считывает данные с датчиков и отправляет на сервер. Питается вся система от блока питания 12 вольт 3 ампера. Что можно сделать?
WIN_20191114_20_36_16_Pro.jpg
WIN_20191114_20_36_43_Pro.jpg
WIN_20191114_20_36_53_Pro.jpg
WIN_20191114_20_37_00_Pro.jpg
Ссылка на код https://yadi.sk/d/Vz6irnMEEdzYxw
 

IliyaBoiko

✩✩✩✩✩✩✩
14 Ноя 2019
3
0
Память:
Скетч использует 55598 байт (21%) памяти устройства. Всего доступно 253952 байт.
Глобальные переменные используют 4461 байт (54%) динамической памяти, оставляя 3731 байт для локальных переменных. Максимум: 8192 байт
 

Mqtt

✩✩✩✩✩✩✩
20 Ноя 2019
9
4
г. Рязань
www.mqtt.su
Добрый день.
У Вас прекрасно комментированный код приятно смотреть.
Проблема зависания может быть в бесконечном цикле подключения к брокеру MQTT.
Или в самом Брокере.
Могу Вам на время тестирования предоставит бесплатно мой сервис MQTT Брокер https://www.mqtt.su сообщите под каким ником Вы зарегистрировались по почте mqtt.su@gmail.com и для вас будет доступно 100 topiс без каких либо искусственных ограничений.

Есть вариант что виснет сам МК тогда можно попробовать Watchdog (англ. сторожевой пёс) – отдельный таймер на микроконтроллере, который имеет собственный источник тактирования и ни от кого не зависит. По данному таймеру можно ловить прерывания и использовать их в своих целях, а также он может перезагрузить микроконтроллер в случае зависания. https://alexgyver.ru/gyverwdt/
 

IliyaBoiko

✩✩✩✩✩✩✩
14 Ноя 2019
3
0
Добрый день.
У Вас прекрасно комментированный код приятно смотреть.
Проблема зависания может быть в бесконечном цикле подключения к брокеру MQTT.
Или в самом Брокере.
Могу Вам на время тестирования предоставит бесплатно мой сервис MQTT Брокер https://www.mqtt.su сообщите под каким ником Вы зарегистрировались по почте mqtt.su@gmail.com и для вас будет доступно 100 topiс без каких либо искусственных ограничений.

Есть вариант что виснет сам МК тогда можно попробовать Watchdog (англ. сторожевой пёс) – отдельный таймер на микроконтроллере, который имеет собственный источник тактирования и ни от кого не зависит. По данному таймеру можно ловить прерывания и использовать их в своих целях, а также он может перезагрузить микроконтроллер в случае зависания. https://alexgyver.ru/gyverwdt/
Спасибо за предложение, может поставить керамические конденсаторы на линиях связи?