#1 2020-03-26 17:44:55

Максим812
Участник
Зарегистрирован: 2020-03-26
Сообщений: 5

независимая выполнение двух задач

Добрый день!
Прошу помощи в оптимизации собранного скетча. зашел в тупик.
Задача устройства:
1.общение с MQTT брокером и получения от него команд и отправка информации.
2.при нажатии кнопки без фиксации (4пин) подавать высокий или низкий сигнал на 5мин.
Проблема: Устройство работает отлично если подключается к WiFi и брокеру, но если WiFi или брокер недоступен то и не работает  переключения по пину 4.
Необходимо чтоб функция подключения  и работа с пином 4 шли независимо.
Буду крайне благодарен за помощь или навигацию

#2 2020-03-26 17:49:58

Максим812
Участник
Зарегистрирован: 2020-03-26
Сообщений: 5

Re: независимая выполнение двух задач

скетч
sketch_25_03.rar

#3 2020-03-27 19:21:39

Watchdog
Гость

Re: независимая выполнение двух задач

Максим812 пишет:

Добрый день!
Прошу помощи в оптимизации собранного скетча. зашел в тупик.
...
Проблема: Устройство работает отлично если подключается к WiFi и брокеру, но если WiFi или брокер недоступен то и не работает  переключения по пину 4.
Необходимо чтоб функция подключения  и работа с пином 4 шли независимо.
Буду крайне благодарен за помощь или навигацию

https://www.google.com/search?q=multitasking+in+microcontrollers

#4 2020-03-29 10:51:39

Максим812
Участник
Зарегистрирован: 2020-03-26
Сообщений: 5

Re: независимая выполнение двух задач

если вы про библиотеки которые позволяют по таймеру/периодически в отведенное время выполнять циклы - то пробовал. Работает но уж очень плохо.

#5 2020-03-29 11:59:33

Watchdog
Гость

Re: независимая выполнение двух задач

Максим812 пишет:

если вы про библиотеки которые позволяют по таймеру/периодически в отведенное время выполнять циклы - то пробовал. Работает но уж очень плохо.

Нет, не про библиотеки, про возможность одновременных или казиодновременных вычислений. Пока сетевой сервис "висит" на таймаутах, естественно не работает остальное.

#6 2020-03-29 13:40:59

Максим812
Участник
Зарегистрирован: 2020-03-26
Сообщений: 5

Re: независимая выполнение двух задач

я победил вопрос, хотя может не очень красиво выглядит, но работает.
Суть в том что при невозможность соединиться программа не зацикливаться на сединениии, а временно переходить в "аварийный режим работы" и какое то время находиться в нем. Позже пробует еще раз подцепиться или далее по результату.
Да есть задержка именно на момент соединения, но мне кажется это не критично.  аварийный режим на то и аварийный чтоб хоть как то, а не коллапс.
Мож еще кому понравиться. Публикую.

sketch_25_03.rar

#7 2020-03-29 13:56:05

Watchdog
Гость

Re: независимая выполнение двух задач

Максим812 пишет:

я победил вопрос, хотя может не очень красиво выглядит, но работает. ...

Как победил - так победил. Только, чтобы ваши программы можно было читать, не ломая мозги, делайте пожалуйста отступы. А как, посмотрите в исходниках.

Быстрое сообщение

Введите сообщение и нажмите Отправить

Подвал раздела