Arduino UNO Atmega 328P зависает
- Войдите на сайт для отправки комментариев
Чт, 08/02/2018 - 22:32
Моя ардуинка получает данные с пк, парсит массив и выводит на экран 128x64 px. Она может работать около часа без нареканий, но потом значения повисают. У ардуинки может что то копиться в кеше или по каким причинам она может повисать? После ребута продолжает работать штатно.
щас все достанут хрустальные шары и будут изучать ваш код...
Я думал может есть какая то общая проблема(
Я думал может есть какая то общая проблема(
Есть такая - выход за границы массива.
У вас, например, в функции parsing() - переменная index инкрементируется без всякой проверки того, что index не вышел за границу массива inData[] . Я не говорю, что дело именно в этом - но вероятность есть. Проверку выхода индекса за пределы нужно предусматривать всегда, такой "беззаботный" код не допустим.
Строго говоря, в документации к U8Glib недвусмысленно сказано - НИКАКИХ долгих действий внутри цикла отрисовки. А у вас там вызывается parsing() зачем-то.
К тому же перерисовывать экран с такой дикой частотой - зачем? У вас там данные, меняющиеся с космической скоростью? Перерисовывать экран (это медленная операция) надо только тогда, когда что-то для отображения на активном экране изменилось.