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

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.