C Frage und Records

Gast #6844610
Lesenswert?
• ▲
▼
Wie genau funktionieren diese Zeilen?
/*Configure GPIO pin : PA0 */
  GPIO_InitStruct.Pin = GPIO_PIN_0;
  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);


Wird bei
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
 bzw
&GPIO_InitStruct)

alles ersetzte was vorher hier
    GPIO_InitStruct.Pin = GPIO_PIN_0;
  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = GPIO_NOPULL;

definiert wurde?
Lesenswert?
• ▲
▼
Nö.
Damit
1
GPIO_InitStruct.Pin = GPIO_PIN_0; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_NOPULL;
füllst du lediglich ein Struct mit Daten bzw. weist dessen Membern Werte 
zu; es wird nichts am Portpin verändert.
Dies geschieht erst durch die Funktion
1
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct)
; das wendet die im strict hinterlegte Konfiguration auf Port A an.
Gast
Lesenswert?
• ▲
▼
Moin,
was ist denn jetzt die eigentliche Frage?
1
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct)
 setzt alles, was vorher in dem GPIO_InitStruct gesetzt wurde für PortA.
Vorher wird nur dein Struct (GPIO_InitStruct), bzw. dessen Member 
gesetzt.
Was ist dir unklar?

Viele Grüße
Lesenswert?
• ▲
▼
Tilo P. schrieb:
> schön das mn hier immer bei Jeopardy ist.
> Keine Ahnung was du mir damit sagen willst.
> Aber ja, ich kenne Funktionen.
> Hier geht es aber um Records

In C gibt es nichts, das sich "Records" nennt, und

> HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

ist nunmal der Aufruf einer Funktion. Da du die ja kennst, müsste dir 
das doch eigentlich bekannt sein.
Daher ist unklar, wo jetzt dein Verständnisproblem liegt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.