Я получил исключение (LoadProjected на ESP32) при доступе к членам класса. У меня нет никаких идей о том, как поступить.
Код выглядит следующим образом:
Заголовочный файл:
#define BUFFERLEN 5
typedef struct {
uint16_t values[BUFFERLEN];
} valuesStruct_t;
class RUNNINGVALUES
{
public:
RUNNINGVALUES();
~RUNNINGVALUES();
void initialize();
void displayValues();
private:
valuesStruct_t valTest;
};
extern RUNNINGVALUES runningValues;
Файл C ++
RUNNINGVALUES runningValues;
RUNNINGVALUES::RUNNINGVALUES()
{
}
RUNNINGVALUES::~RUNNINGVALUES()
{
}
void RUNNINGVALUES::initialize()
{
for (int i = 0; i < BUFFERLEN; i++) {
valTest.values[i] = 0;
}
};
void RUNNINGVALUES::displayValues()
{
Serial.printf("Test values: %u\n", valTest.values[0]);
};
(все остальные функции удалены)
При запуске программы на устройстве ESP32 я получил исключение LoadProjected с адресом, близким к нулю. (Из руководства по API ESP32: если этот адрес близок к нулю, это обычно означает, что приложение пыталось получить доступ к элементу структуры, но указатель на структуру был равен NULL.)
Я не понимаю, что может быть не так? Любая идея?
Задача ещё не решена.
Других решений пока нет …