ARM, Keil (uVision5) - Beginner

OP #3754069
Lesenswert?

Hallo,

ich habe gerade angefangen mit Keil+STM32F207.

Nachdem ich die tollen Beispiel von Keil verstanden habe, wollte ich 
mehr ins Detail gehen und habe das Internet bemüht.

So, und hier fängt es an.

In diversen Beispielen wird u.a. die sogenannte 'RCC_APB2PeriphClockCmd' 
Funktion verwendet. Diese existiert in meinen Header-Files aber nicht. 
Warum? Ich kann natürlich ohne diese Funktion auch die GPIO-CLK 
initialisieren, aber es fehlen auch andere Funktionsaufrufe die ich 
widerum gerne nutzen würde ... z.B. die GPIO Alternate Funktion.

Vielleicht kann mir jemand erklären warum ich diese Funktionen nicht 
besitze..

Gruß
Krugman
OP #3754242
Lesenswert?

Ja das habe ich, und in keinem der Beispiel wird dort z.B.

GPIO_PinAFConfig(...);
oder
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI3, ENABLE);
verwendet. Wenn ich das probiere, dann gibt es diese Funktionen nicht.

Im Gegenteil es wird z.B. so gemacht:
--------------------
/*##-1- Configure the SPI peripheral */
  /* Set the SPI parameters */
  SpiHandle.Instance                 = SPIx;

  SpiHandle.Init.BaudRatePrescaler   = SPI_BAUDRATEPRESCALER_32;
  SpiHandle.Init.Direction           = SPI_DIRECTION_1LINE;
  SpiHandle.Init.CLKPhase            = SPI_PHASE_1EDGE;
  SpiHandle.Init.CLKPolarity         = SPI_POLARITY_HIGH;
  SpiHandle.Init.CRCCalculation      = SPI_CRCCALCULATION_DISABLED;
  SpiHandle.Init.CRCPolynomial       = 7;
  SpiHandle.Init.DataSize            = SPI_DATASIZE_8BIT;
  SpiHandle.Init.FirstBit            = SPI_FIRSTBIT_MSB;
  SpiHandle.Init.NSS                 = SPI_NSS_SOFT;
  SpiHandle.Init.TIMode              = SPI_TIMODE_DISABLED;

  SpiHandle.Init.Mode = SPI_MODE_MASTER;

  if(HAL_SPI_Init(&SpiHandle) != HAL_OK)
  {
    Error_Handler();
  }
----------------




Was mach ich falsch ... bin echt am verzweifeln ...
Sind das etwa custom (IDE spezielle) Funktionen?

Gruß

Krugman
Gast #3754677
Lesenswert?

Denis Krug schrieb:
> In diversen Beispielen wird u.a. die sogenannte 'RCC_APB2PeriphClockCmd'
> Funktion verwendet. Diese existiert in meinen Header-Files aber nicht.

Und hast du dir schon mal einen klitzekleinen Gedanken gemacht, was 
diese Funktion tun soll? oder wie man sich den betreffenden Teil der 
Peripherie SELBST einstellt?

Hast du überhaupt schon ins Manual zu deiner Hardware geschaut und 
versucht, zu verstehen, was man tun muß, um den einen oder anderen 
Peripherie-Core anzuwerfen und zu benutzen?

Und hast du schon mal versucht, den eigentlichen Compiler selbst, also 
direkt aufzurufen, inclusive Linker und FromElf?

Frag dich das mal zu allererst.

W.S.

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