Я набиваю рыбу мясом и вижу -- возникают провисания в главном цикле на 0.7 мкс. Виноват программный модуль управления реле. Я пишу разработчику -- у вас в функции из модуля управления реле, которая вызывается в главном цикле, есть провисание на 0.7 мкс.
Разработчик -- да, будем исправлять. Это срочно?
Я -- не особо, я пока буду налаживать работу с внешними устройствами.
Прошёл месяц. Я написал модули для работы с внешними устройствами по RS-485 и стал их отлаживать. Обнаружил, что в принципе модули работают, но через случайное число запросов возникают разнообразные ошибки передачи данных -- то байт не придёт, то стоп-бит не опознается. Сократил обвязку до минимума -- выходило, что ошибка в коде, который написал разработчик платы. Я ему отправил тестовый код и попросил посмотреть.
Он потестировал и пишет -- я нашёл, в чём проблема. У вас в главном цикле возникают провисания на 0.7 мкс!
Ну что тут можно сказать? Хорошо, когда наличие ошибки подтверждается двумя независимыми специалистами.