Lass ich das typedef weg funktionierts
Mit typedef erzeugst du einen neuen Typ "dcf_s". Du musst dann erstmal eine Variable dieses neuen Typs erstellen, also z.B.:
Code:
dcf_s SomeVar;
SomeVar.weather = 3;
Ohne das typedef erzeugst du eine Variable mit Namen "dcf_s", die du dann direkt verwenden kannst.
Wo liegt der Unterschied wenn ich bei struct einmal uint16_t weather:15; schreibe oder uint16_t weather[15];?
Das erste ist ein Bit-Field, das zweite ein Array.
Nimm es mir bitte nicht krumm, aber bei dir fehlen ja noch essentielle Grundlagen der Programmiersprache C. Bitte nimm dir mal ein C Buch zur Hand und lese dich da etwas ein. Man lernt C nicht mal so eben nebenbei durch Try&Error oder durch ein paar Fragen in einem Forum.
Lesezeichen