Доброго всем дня. Отладочная плата nodeMCU 32. Программирую через Arduino IDE. Контроллер уходит в бесконечный reboot, причем это происходит исключительно в следствии определенного куска кода. Код (C++): totMin = 120; . . . for(short int r=0; r<99; r++ ){ if((onlTOTAL[r])<totMin) totMin=(onlTOTAL[r]); } Когда его удаляешь, то контроллер запускается начинает нормально работать, да и пробовал подключать питание разной мощности. По сути я пытаюсь вытащить из массива минимальное число. Переменная totMin глобальная, ее тип short int. onlTOTAL является массивом и имеет тот же тип. Подскажите в чем может быть причина, такого поседения контроллера
Не совсем понял. Нужен весь код? Вот. Это тестовый образец. В нем уже есть некоторые изменения, но все же он вводит контроллер в то же состояние постоянного перезапуска
Я и написал, что программу немного изменил, для поиска проблем. Данные (-10) никак не влияют на работу кода. Пришел к выводу, что причиной всех без является функция "map" В ней похоже происходят деления на 0. В интернете нашел ее и исходную версию функции "map" Код (C++): long map(long x, long in_min, long in_max, long out_min, long out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } Я хочу получить динамический график, то есть, чтоб изменялась верхняя и нижняя границы поля, отображая это на Oled дисплее.
В общем проблема найдена, причина действительно в функции "map". Когда число in_max и in_min равны, то контроллер перестает работать, для этого я просто перед этой функцией к in_Max добавляю 10. В любом случае спасибо за помощь, долго не мог понять причины (видимо нужно было посмотреть со стороны).