Mehrere structs anlegen / avr gcc

Gast #4126480
Lesenswert?
• ▲
▼
Hallo,

ich habe eine Libary, welche ich in der main.c nutzen möchte.


libary.h
1
//...
2
struct motorCfg {
3
  uint8_t minFwSpeed;
4
  uint8_t maxFwSpeed;
5
  uint8_t minRwSpeed;
6
  uint8_t maxRwSpeed;
7
  uint8_t actSpeed;
8
  uint8_t dir;
9
  };
10
/...

main.c
1
// Anlegen von structs
2
struct motorCfg motor1;
3
motor1.actSpeed = 200;

Das geht leider so nicht. Ich brauche 3-4 Configs, deshalb auch das 
struct.

Ich habe dieses Buch als Druckvariante, dort wird es leider nicht 
erklärt.

[/code]
Persönliche Seite #4126506
Lesenswert?
• ▲
▼
Hallo schrieb:
> Das geht leider so nicht.

Was meinst Du damit? Gibt es eine Fehlermeldung des Compilers?

Dann sieh Dir in Deinem C-Buch mal an, wie man Strukturvariablen 
initialisiert -- was Du da gemacht hast, ist keine Initialisierung, 
sondern eine Zuweisung.

Und wenn Du mehrer Strukturvariablen verwenden möchtest, könntest Du Dir 
in Deinem C-Buch mal das Kapitel über Arrays ansehen.

Auch Arrays können initialisiert werden, und auch Arrays aus Strukturen.

Übrigens ist eine .h-Datei keine "Libary" (auch keine Library), 
sondern nur eine Headerdatei. Eine Library enthält vorcompilierten Code, 
der zu Deinem Programm vom Linker hinzugefügt wird.
Gast #4126599
Lesenswert?
• ▲
▼
1
// lib.h
2

3
struct name {
4
  uint8_t a;
5
  uint8_t b;
6
  uint8_t sum;
7
};
8

9
void sum_ab(struct name *struct_ptr);
1
// lib.c
2
void ab(struct name *struct_ptr)
3
{
4
  struct_ptr->sum = struct_ptr->a + struct_ptr->b;
5
}
1
// main.c
2

3
int main(void)
4
{
5
  struct name t;
6
  t.a = 10;
7
  t.b = 20;
8
  ab(&t);
9
}

Wäre das soweit korrekt? Keine Compiler-Warnungen.
Gast #4127069
Lesenswert?
• ▲
▼
Oliver W. schrieb:
> Brauch man in der Mathematik auch nicht und viel eindeutiger geht sein
> Hinweis doch nicht.

Für mich ist das ein Ausschluß und nicht sehr eindeutig.

Brauch_ man in der Mathematik auch nicht und viel eindeutiger geht sein
Hinweis doch nicht. Die Stelle auf(in) 17 Zeile_ Code zu finden trau_ 
ich allen zu.

Auch C-ler? Wahrscheinlich kein Mathematiker; s.o.
#4127262
Lesenswert?
• ▲
▼
KKarlo schrieb:
> Für mich ist das ein Ausschluß und nicht sehr eindeutig.

Für die meisten Mathematiker (und ich glaube fast alle Programmierer) 
ist das ein Nicht-Gleich, also ein ≠ ;)

KKarlo schrieb:
> Brauch_ man in der Mathematik auch nicht und viel eindeutiger geht sein
> Hinweis doch nicht. Die Stelle auf(in) 17 Zeile_ Code zu finden trau_
> ich allen zu.

Rechtschreibnazi ;) (Ist kein Vorwurf, ich weiß das ich leider viel zu 
oft während des Tippens die deutsche Rechtschreibung vernachlässige).

Nun wirds aber OT, btt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.