Hi,
I compiled this code with no errors but for some reason I get run-time error (the device gets stuck):
// ErrorLog.h
#ifndef ERRORLOG
#define ERRORLOG
#define ERR_BUFF_SIZE 8
#define ERR_DISABLE 0
#define ERR_ENABLE 1
enum {
** ERR_NOIP = 0,**
** ERR_CONNECTION,**
** ERR_NTPsync,**
** ERR_SD,**
** ERR_WEB,**
** ERR_ANALOG,**
** ERR_DIGITAL,**
** ERR_ONE_WIRE**
};
char ERR_LOG_TXT[ERR_BUFF_SIZE][100] = { "No IP adress", "Ethernet connection Error", "NTP server sync Error", "SD card Error", "Web server Error", "Analog input Error", "Digital Input Error", "One Wire Error" };
typedef struct
{
** unsigned char status; // enabled/disabled**
** unsigned char counter;**
** unsigned char errorCode;**
** unsigned char trigger;**
} ERR_TYPE;
ERR_TYPE Error[ERR_BUFF_SIZE];
void initERR(void)
{
** char i;**
** //ENABLE all timers**
** for (i = 0; i < ERR_BUFF_SIZE; i++) {**
Error*.status = ERR_ENABLE;
_ Error.counter = 0;
Error.trigger = 0;
Error.errorCode = i;
// Serial<<F(i);_
// Serial<<F(":")<<(ERR_LOG_TXT)<<("- Enable -");
_ }
}
void ErrorHandler(){
char i;
//_
for (i = 0; i < ERR_BUFF_SIZE; i++){
if (Error_.status && Error.trigger){
// Serial << F("HELLO");
// Serial.print("Logging Error Code#:");
// Serial.println(Error.errorCode);_
// Serial.println(ERR_LOG_TXT);
_ Error.counter++;
//do the logging to SDcards here*
Error*.trigger=false; //reset the trigger*
* }
}
}
#endif*
[/b][/quote]
The problem seems to be in void initERR(void) where Error*.status is causing the problem (and any other array calling).*
can anyone help ?
Thank you_