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?
#6844631
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 #6844987
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
#6844992
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren