访问类的成员时出现异常(ESP32上的LoadProhibited)。我对如何进行没有任何想法。
代码如下:
头文件:
#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设备上运行程序时,我遇到了LoadProhibited异常,地址接近于零。 (摘自ESP32 API指南:如果此地址接近零,通常意味着应用程序尝试访问结构的成员,但指向该结构的指针为NULL。)
我不明白这可能是什么问题?有想法吗?