Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить

ESP8266 + Dali = ошибка Exception 9: LoadStoreAlignmentCause

Вт апр 20, 2021 11:24:33

Доброго времени суток. Хочу сделать "мост" между wifi и Dali. За основу взял код: https://habr.com/ru/post/321888/ Для теста все прошил и залил в Arduino nano и ожидаемо все хорошо, все работает. Для ESP же есть проблема - не могу получить статус светильника, падает в ошибку Exception 9: LoadStoreAlignmentCause: Load or store to an unaligned address, ругается на строчку в файле Dali.cpp: timeArray[k] = timeArray[k — 1]. Что я пытался сделать — с помощью sizeof выяснил, сколько занимают типы данных в atmega328 и в esp8266. Ну и в итоге поменял все int на int16_t и с другими типами также. Но это не помогло. Однако заметил, если в файле Dali.cpp в строке: int16_t timeArray[arrLength] жестко указать размер массива [20], а не [arrLength] то тогда ошибка не появляется, но функция всегда возвращает значение 255. Прикрепляю исходники, может кто подскажет.

Dali_esp.ino

Dali.h

Dali.cpp

Re: ESP8266 + Dali = ошибка Exception 9: LoadStoreAlignmentC

Чт июн 03, 2021 12:46:25

Хоть и старая тема, но когда вы создаёте массив (он не динамический), потому ему нужно жестко задавать количество элементов, а вы передаёте ему переменную в качестве количества элементов, вот и ругается. Какая функция возвращает 255 тоже неясно, разбирать весь код нет желания.
Ответить