Forum: Mikrocontroller und Digitale Elektronik Problem mit Compiler


von Gregor B. (gregor54321)


Lesenswert?

Hallo!
Ich bekomme vom Compiler diese eine FM:
1
../main.c:204:19: error: invalid digit "8" in octal constant
(bezieht sich auf "RTC_Para.Year    = 08;"
1
char main {
2
  RTC_Para_typ  RTC_Para;
3
4
  RTC_Para.Second     = 30;
5
  RTC_Para.Minute     = 59;
6
  RTC_Para.Hour       = 11;
7
8
  RTC_Para.Day        = 03;
9
  RTC_Para.Month      = 10;
10
  RTC_Para.Year       = 08;  // <-- 07 geht...
11
  RTC_Para.DayOfWeek  = 5; 
12
}

Ich definiere das ganze aber eigentlich nicht als Oktal:
1
typedef struct RTC_Para_tag
2
  {
3
  uint8_t Second;
4
  uint8_t Minute;
5
  uint8_t Hour;
6
  uint8_t Day;
7
  uint8_t Month;
8
  uint8_t Year;     // without 2000
9
  uint8_t DayOfWeek;  // {1-7}
10
  } RTC_Para_typ;
Ich habe aber keine Ahnung, warum das als oktal erkannt wird. Ich 
benutze AVRStudio_4.14.589 mit WinAVR_20080610

von holger (Gast)


Lesenswert?

Lass die Null doch einfach weg.

von Eddy C. (chrisi)


Lesenswert?

Wenn ein Konstante nur mit '0' begonnen wird, bedeutet es, dass es sich 
um eine Konstante im Oktalsystem handelt. '0x' ist dann bekanntlich hex.

von Gregor B. (gregor54321)


Lesenswert?

Jo, funktioniert!
Wieder was gelernt... ;o)

Besten Dank!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.